天道酬勤,学无止境

Can I get the currently opened ASP page file name in Visual Studio.NET in a custom control?

I have a custom control in Visual Studio and I need to somehow have access to the currently opened page in Visual Studio in design mode. If I look at the Page property of the custom control, the ID just says "__Page" and most of the properties are inaccessible which isn't very helpful. Does anyone know of a service or interface that has some method of obtaining the file name of the currently opened page in the project? Thanks.

评论

It CAN be done. See here: http://weblogs.asp.net/gunnarpeipman/archive/2008/05/21/using-parent-page-properties-in-user-control.aspx

but even this page starts out by saying

this situations is a warning sign - there's something wrong with UI structure if user controls should know their parents.

If you need to know information about the page, then a better approach is to create a property on your control that you can set from the page. Then from within the control, you can check the value of the property.

For example, if you REALLY need to know the page name, then your control should have a property called "PageName", and then when you ad it to your page, you can set the property explicitly. (I'll come back with an example if you like).

Here's an example I ran across - a date-time chooser control for a reporting page. It has a property called FromDate that is tied to a text box.

public  DateTime FromDate
{
    get
    {
        return Convert.ToDateTime(txtFrom.Text);
    }
    set
    {
        txtFrom.Text = value.ToString();
    }
}

Then you would set it int he page like this:

<uc1:DateRangeControl ID="DateRangeControl1" runat="server" 
                FromDate="1/1/2009"    />

The reason we say it's a design flaw is that good OO design would say that a control by nature should be able to operate without knowing what container it is in.

Why do you need this information at design-time? If you're having problems with it displaying correctly in design-mode, could you instead check the DesignMode property and only execute the page-dependent logic at runtime?

I agree that if you need to do this, then there's probably something wrong with the UI design. However, I've found it useful on occasion.

Assuming your custom control extends WebControl or one of its subclasses and is inside a Page:

string myPageName = System.IO.Path.GetFileName(this.Page.Request.Path);

Easy as that.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 使用VS 2019,.NET Core 3和Web API创建ASP.NET Core Blazor CRUD应用程序
    目录 介绍 Blazor Blazor客户端应用程序 Blazor服务器应用程序 背景 先决条件 使用代码 第1步-创建数据库和表 第2步-创建ASP.NET Core Blazor服务器应用程序 运行以测试应用程序 调试组件 步骤3-使用实体框架 安装软件包 添加数据库连接字符串 创建模型类 创建dbConext类 在Startup中添加DbContext 创建用于CRUD操作的Web API 处理客户端项目 添加Razor 组件 Import部分 为服务器端Blazor注册HTTPClient HTML设计和数据绑定部分 功能部分 导航菜单 生成并运行应用程序 兴趣点 下载shanuBlazorCRUD.zip-435.9 KB 介绍 在本文中,我们将看到如何使用Visual Studio 2019,.NET Core 3,实体框架和Web API为ASP.NET Core Blazor创建简单的CRUD应用程序。Blazor是Microsoft引入的新框架。 在本文中,我们将看到如何使用Visual Studio 2019、.NET Core 3、实体框架和Web API为ASP.NET Core Blazor创建简单的CRUD应用程序。Blazor是Microsoft引入的新框架。 Blazor Blazor正在进行两种应用程序开发,即正在预览的Blazor
  • ASP.NET网站还是ASP.NET Web应用程序?(ASP.NET Web Site or ASP.NET Web Application?)
    问题 在Visual Studio中启动新的ASP.NET项目时,可以创建ASP.NET Web应用程序,也可以创建ASP.NET网站。 ASP.NET Web应用程序和ASP.NET网站之间有什么区别? 我为什么要选择一个呢? 根据我使用的Visual Studio版本,答案是否有所不同? 回答1 网站: 该Web站点项目是即时编译的。 您最终将获得更多的DLL文件,这可能会很痛苦。 当一个目录中的页面或控件需要引用另一目录中的页面和控件时,这也会带来问题,因为该另一目录可能尚未编译到代码中。 另一个问题可能是在发布中。 如果不要求Visual Studio不断重复使用相同的名称,它将为页面始终生成的DLL文件提供新的名称。 这可能会导致具有相同类名的DLL文件的多个紧密副本,这将产生大量错误。 该Web站点项目是随Visual Studio 2005一起引入的,但事实证明它并不受欢迎。 Web应用程序: Web应用程序项目是作为外接程序创建的,现在作为Visual Studio 2005的SP 1的一部分存在。主要区别在于Web应用程序项目的设计工作原理与Visual Studio 2003附带的Web项目类似。在构建时将应用程序编译为单个DLL文件。 要更新项目,必须重新编译该项目并发布DLL文件以进行更改。 Web应用程序项目的另一个不错的功能是
  • ASP.NET 网站还是 ASP.NET Web 应用程序?(ASP.NET Web Site or ASP.NET Web Application?)
    问题 当我在 Visual Studio 中启动一个新的 ASP.NET 项目时,我可以创建一个 ASP.NET Web 应用程序或我可以创建一个 ASP.NET 网站。 ASP.NET Web 应用程序和 ASP.NET 网站有什么区别? 为什么我会选择其中之一? 答案是否因我使用的 Visual Studio 版本而异? 回答1 网站: 网站项目是即时编译的。 你最终会得到更多的 DLL 文件,这可能会很痛苦。 当一个目录中的页面或控件需要引用另一个目录中的页面和控件时,它也会出现问题,因为另一个目录可能尚未编译到代码中。 另一个问题可能是发布。 如果 Visual Studio 没有被告知不断重复使用相同的名称,它会一直为页面生成的 DLL 文件提供新名称。 这可能导致多个包含相同类名的 DLL 文件的紧密副本,这将产生大量错误。 Web Site 项目是在 Visual Studio 2005 中引入的,但结果证明它并不流行。 Web应用程序: Web 应用程序项目是作为插件创建的,现在作为 Visual Studio 2005 的 SP 1 的一部分存在。主要区别在于 Web 应用程序项目的设计与 Visual Studio 2003 附带的 Web 项目的工作方式类似。它将在构建时将应用程序编译为单个 DLL 文件。 要更新项目,必须重新编译它并发布 DLL
  • Visual Studio(2005-2010)的隐藏功能?(Hidden Features of Visual Studio (2005-2010)?)
    问题 已锁定。 该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。 它目前不接受新的答案或互动。 Visual Studio是一个如此巨大的产品,即使经过多年的使用,我有时还是会偶然发现一种新的,更好的方式来做事情或什至是我所不知道的事情。 例如- Crtl + R , Ctrl + W显示空白。 对于编辑Python构建脚本至关重要。 在"HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor"创建一个名为“ Guides "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor"的字符串,其值为“ RGB(255,0,0),80”,以在文本编辑器的第80列处显示红线。 您还偶然发现了哪些其他隐藏功能? 回答1 在按下ALT的情况下进行选择-选择文本的正方形而不是整行。 回答2 追踪点! 在一行代码上放置一个断点。 打开“断点”窗口,然后右键单击新的断点。 选择“当命中...”。 通过选中“打印消息”复选框,Visual Studio将在每次执行代码行时(而不是(同时)中断)将消息输出到Debug Output。 您也可以让它在通过该行时执行宏。 回答3 您可以将代码拖到工具箱中。 试试吧! 回答4 单击一个标识符(类名
  • 使用firefox和visual studio.net调试asp.net-与IE相比非常慢(Debugging asp.net with firefox and visual studio.net - very slow compared to IE)
    问题 使用Firefox在Visual Studio.net 2005中调试asp.net网站/ Web项目的加载速度比使用IE慢。 我在某处读到了一些可以解决此问题的方法,但是我一生无法再次找到它。 有人知道我在干什么,可以向我指出正确的方向吗? 干杯约翰 编辑 对不起,罗伯,我没有很好地解释自己。 我更喜欢使用Firefox进行调试(萤火虫等) 在使用IE进行调试时,按F5可以快速启动浏览器,并且在我的Web应用程序中单击几乎是即时的,当遇到中断时,我可以立即获得代码。 在使用FireFox进行调试时,按F5键浏览器的启动速度非常慢(好吧,我的插件加载FF的速度很慢),但是单击我的Web应用程序的速度确实很慢,并且遇到断点时,要花很多时间才能破解代码。 我发誓我读过某处的内容,说明Firefox中有一个设置(可能是about:config?),当更改为某种魔术设置时,所有这些都可以解决。 回答1 答对了。 找到了我之前读过的文章。 我只是将about:config中的network.dns.ipv4OnlyDomains属性更改为localhost。 重新启动了firefox,现在在用visual studio调试asp.net时,firefox的性能与IE相同(2005)。 希望这对其他有相同问题的人有所帮助。 回答2 “替代解决方案”。 在Firefox中执行以下操作 关于
  • 经典ASP的良好IDE?(A good IDE for classic ASP?)
    问题 我正在使用Dreamweaver,但是当我开始编写时,它没有给我类,函数,子名称。 有什么好的选择吗? 回答1 没有任何东西,因为Classic ASP是一种脚本语言。 Visual Studio具有非常基本的Intellisense,但仅用于非常基本的功能,我发现它没有帮助。 最好的选择是坚持使用Dreamweaver,或者仅使用带有语法突出显示功能的轻量级文本编辑器。 我推荐记事本++ 回答2 自问这个问题以来的七年中,IDE的格局发生了很大变化。 现在,可以使用Visual Studio Code在Linux或任何其他平台上读取Classic ASP代码。 Visual Studio Code不是Visual Studio,而是基于Electron的完全不同的编辑器。 是的,Microsoft现在正在交付用NodeJS编写的代码,这些代码可以在Linux上天真地运行! 回答3 令我感到非常痛苦的是,visual studio.net 2003可以作为具有ASP经典页面的IDE很好地工作。 另外,如果您将它与Whole Tomatoe的Visual Assist加载项一起使用,它们实际上会使经典的ASP编程乐趣变得更加有趣。 完全可以容忍和可调试。 而且,如果您将AspUnit转换为Classic,则可以轻松地在所有页面旁边运行/维护单元测试。 它适用于经典的Asp
  • 为什么要创建一个ASP.NET 5类库项目?(Why create an ASP.NET 5 Class Library project?)
    问题 我试图弄清楚“ ASP.NET 5类库”(vNext)C#项目与ASP.NET有什么关系。 为什么要使用此模板而不是常规的C#“类库”项目来创建项目? 我喜欢新功能,例如project.json文件而不是.csproj文件等,但是当项目与ASP.NET或IIS等无关时,创建“ ASP.NET”类库似乎并不正确这只是业务逻辑层的一个项目。 一个新的WebApi ASP.NET网站最终将引用此项目,但目前不相关。 它只是名字不好吗? 是否应该仅将其称为“ vNext类库”而不使用看起来像Web应用程序的图标? 回答1 为什么要创建一个ASP.NET 5类库项目? 与类库项目( .csproj)相比,ASP.NET 5类库项目( .kproj)有许多优点: ASP.NET 5类库可以轻松地支持对多个目标的交叉编译项目,例如aspnet50 , aspnetcore50 , net45和其他各种可移植类库变体。 这包括对Intellisense的丰富Visual Studio支持,以通知您哪些API可用于哪些目标。 NuGet软件包是自动创建的,这对于类库来说是非常普遍的事情。 当文件系统更改时自动刷新解决方案资源管理器时,可以提高生产率。 尝试合并* .csproj文件中的冲突更改时,源代码管理中的冲突较少。 可以跨平台编译(部分是因为它不依赖于MSBuild) 您可以从*
  • JRC引擎处理的文档无法在C ++堆栈中打开(A document processed by the JRC engine cannot be opened in the C++ stack)
    问题 我用.net4.0在vs2010中创建了一个水晶报表。 当我发布网站时,它引发错误“无法在C ++堆栈中打开由JRC引擎处理的文档”。 我在服务器上发布了该网站,并尝试从客户端访问它,我确实在app_code中保留了.rpt文件,但再次遇到相同的错误。 因此,我创建了一个文件夹wwwroot,并在其中保留了asp_client和website文件夹,并提供了到wwwroot的物理路径。 一切正常,除了水晶报表。 在.cs文件中,代码如下: ReportDocument rptDoc = new ReportDocument(); DataSetForCrystalReport ds = new DataSetForCrystalReport(); DataSetForCrystalReport dsHeader = new DataSetForCrystalReport(); DataTable dt = new DataTable(); DataTable dtHeader = new DataTable(); dt.TableName = "dtBill"; string ReceiptNo = Request.QueryString["ReceiptNo"]; dt = getAllOrders(ReceiptNo).Tables[0]; dtHeader =
  • 学习ASP.NET Core Razor 编程系列十八——并发解决方案
    学习ASP.NET Core Razor 编程系列目录学习ASP.NET Core Razor 编程系列一学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面学习ASP.NET Core Razor 编程系列六——数据库初始化学习ASP.NET Core Razor 编程系列七——修改列表页面学习ASP.NET Core Razor 编程系列八——并发处理学习ASP.NET Core Razor 编程系列九——增加查询功能 学习ASP.NET Core Razor 编程系列十——添加新字段学习ASP.NET Core Razor 编程系列十一——把新字段更新到数据库学习ASP.NET Core Razor 编程系列十二——在页面中增加校验学习ASP.NET Core Razor 编程系列十三——文件上传功能(一)学习ASP.NET Core Razor 编程系列十四——文件上传功能(二)学习ASP.NET Core Razor 编程系列十五——文件上传功能(三)学习ASP
  • asp、php、asp.net、jsp介绍及优缺点比较
    asp.net 其基于通用语言的编译运行的程序,完全依赖于虚拟机,所以他拥有跨平台的能力,只不过微软暂时仅支持在windows平台下运行,不过国外很多第三方已经开发出应用与类Unix下的虚拟机(比如Mono),使其同样可以运行在类Unix平台下。asp.net也是第一次运行时编译,提高程序运行速度,且微软为其封装了很多控件使其在开发时有点像WinForm开发,所以上手容易,易学功能强大,不过因其界面展现跟业务逻辑没有完全的分离,对应也就产生了asp.net MCV开发框架,近几年也十分流行,其均适合构建大型网络应用,不过鉴于对高并发,大用户群的处理能力的缺陷,缓存依赖的不稳定性,负载均衡能力不足,使其在构建大型网络应用时需要借助于其他辅助技术。具体在之后的博文中会加以阐述。 php 一种嵌入式脚本语言,类似asp,其大量借用C和Perl的语法,使开发者能够快速上手,且相对于Perl,php有更多的函数可供调用,使Web开发者能够快速的搭建出一套不错的动态网站系统,因此国外大多数主机都配有Linux+Apache+php+mysql(注意都是开源免费的,这些组合又有个别称lamp--〉Linux+Apache+Mysql+Perl/PHP/Python)。但因其内部结构的先天性缺陷,导致了其不适合编写中大型网站,php本身没有命名空间(这点非常郁闷)
  • Asp.net Mvc 2 DisplayFor 性能问题?(Asp.net Mvc 2 DisplayFor Performance Issue?)
    问题 在我最近使用 Asp.net Mvc 2 的项目中,我们发现 DisplayFor 存在性能问题。 我不太确定这是真正的问题还是我错过了什么? 我希望一些 Asp.net Mvc Guru 可以向我解释。 :) 模型。 public class Customer { public int CustomerId { get; set; } public string Name { get; set; } public string Address { get; set; } public string EmailAddress { get; set; } public static IEnumerable<Customer> GetCustomers() { for (int i = 0; i < 1000; i++) { var cust = new Customer() { CustomerId = i + 1, Name = "Name - " + (i + 1), Address = "Somewhere in the Earth...", EmailAddress = "customerABC" }; yield return cust; } } } 控制器 public ActionResult V1() { return View(Customer
  • Asp.net Mvc 2 DisplayFor Performance Issue?
    In my recent project which is using Asp.net Mvc 2, we found that the DisplayFor has performance issue. I'm not so sure whether it is the real issue or did I miss something? I hope some Asp.net Mvc Guru can explain it to me. :) Model. public class Customer { public int CustomerId { get; set; } public string Name { get; set; } public string Address { get; set; } public string EmailAddress { get; set; } public static IEnumerable<Customer> GetCustomers() { for (int i = 0; i < 1000; i++) { var cust = new Customer() { CustomerId = i + 1, Name = "Name - " + (i + 1), Address = "Somewhere in the Earth
  • 当前上下文中不存在名称“ ViewBag”-Visual Studio 2015(The name 'ViewBag' does not exist in the current context - Visual Studio 2015)
    问题 我再次开始在ASP.NET中进行开发,但在Visual Studio中遇到了一个小错误。 使用一些剃刀功能时,我的.cshtml文件显示错误。 例如“当前上下文中不存在名称'ViewBag'”。 这是一张图片: 我正在使用一个演示项目。 您可以在这里找到该项目:https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject 我浏览了其他几个线程,大多数都建议更新web.config文件。 这两个配置文件已经存在,并且因为它是一个非常流行的演示,所以我认为它具有所有必需的配置。 我当然浏览了这些配置文件,它们确实包括建议的解决方案。 其他详情: 我已经在解决方案上使用了clean&rebuild,但是并没有改变。 当我创建一个全新的MVC项目时,它确实可以工作我的朋友有相同的问题,我们都使用VS 2015和Windows 10 我仍然可以运行该应用程序,并且可以正常工作。 提前致谢。 回答1 尽管具有所有正确的配置,但我还是遇到了这个问题。 原来是组件缓存中有一些错误的文件,阻止了Razor视图识别ViewBag,Model和HtmlHelpers。 删除这些文件可以解决问题(这些文件的良好版本是在我下次打开Visual Studio时创建的)。 这些文件位于此处:
  • 如何解决“'/'应用程序中的服务器错误”错误?(How to resolve “Server Error in '/' Application” error?)
    问题 我收到以下错误时,试图在我们的服务器中部署asp.net应用程序。 Server Error in '/' Application. ________________________________________ Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. Source Error: Line 63: ASP.NET to
  • Visual Studio 2010 可以执行“.inc”文件语法高亮显示吗?(Can Visual Studio 2010 do “.inc” file syntax highlighting?)
    问题 可以将 Visual Studio 2010 配置为对“.inc”文件进行语法高亮显示吗? 我们有许多包含大量“.inc”文件(asp 文件)的大型项目,因此无法将文件扩展名更改为“.asp”。 我希望 Visual Studio 2010 做的就是在语法突出显示方面将这些“.inc”文件视为“.asp”文件。 我试过“打开方式...”并选择了 HTML 编辑器,这是默认的“.asp”,但这不起作用。 我尝试了列表中的所有其他编辑器,但没有一个起作用。 我知道 Notepad++(以及其他)可以做到这一点,但我更喜欢在 Visual Studio 2010 中做到这一点——使用另一个 IDE 或文本编辑器不是我在这里寻找的答案。 回答1 在 Visual Studio 中...转到选项 -> 文本编辑器 -> 文件扩展名。 输入“inc”作为扩展名,将编辑器输入为“Web 表单编辑器”。 您可能需要关闭然后重新打开当前打开的 .Inc 页面...希望这会有所帮助 回答2 我发现“Web 表单编辑器”和“HTML 编辑器”对我来说都不太理想。 它们似乎都突出了 HTML 的语法,但是 VBScript 关键字与其他所有内容都保留在标准的黑色文本中。 虽然不理想,但我按照其他答案中的说明进行操作,但将 Visual Basic 替换为编辑器类型,这更符合我的喜好
  • 《Visual C# 程序设计》课程学习(1)——第1章 Visual C# 简介
    1.1 VC#的由来及发展 1.1.1 VC#的发展 1995年,SUN公司正式推出了面向对象的开发语言Java,并具有跨平台、跨语言的功能特点,Java逐渐成了企业级应用系统开发的首选工具。 微软决定推出其进军互联网的庞大.NET计划,和该计划中重要的开发语言——Visual C#(简称VC#或C#)。 美微软公司对VC#的定义是:“VC#是一种类型安全的、现代的、简单的,由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++开发人员所熟悉。VC#的目的就是综合Visual Basic的高生产率和C++的行动力。” 1.1.2 VC#的特点 易于掌握 支持跨平台 面向对象 与XML相融合 1.2 VC#的运行环境和安装 VC#是Visual Studio.NET的一部分。作为一个强大的集成开发工具,Visual Studio.NET对系统环境有较高的要求。 1.硬件要求 中央处理器(CPU):最低配置为PentiumⅡ450或同等的CPU,推荐配置为PentiumⅣ 3.0G或同等及更好的CPU。 内存:最低配置为128MB。推荐配置为512MB内存。 硬盘:可用空间3GB以上,推荐硬盘为80GB。 显示器:最低配置800×600、256色分辨率的显示器。推荐配置1024×768全彩分辨率以上的显示器
  • 【使用ASP.NET开发Web项目】第一课——初识ASP.NET,创建第一个ASP.NET程序
    知识点:理解 ASP.NET 的概念和优势、 会创建 ASP.NET Web Form 程序、 理解 ASP.NET Web Form 程序的执行阶段、 会使用代码内嵌和代码后置两种方式进行编码。 1、网站开发基础了解 1.1 网站开发各环节组成 1.2 开发网站需要的知识结构 (1)网站开发前台页面技术 页面设计:HTML、DIV+CSS页面特效:JavaScript、jQuery (2)OOP编程核心公共技能 C#基础语法与程序逻辑面向对象编程基础SQL Server数据库开发基础ADO.NET数据访问技术 (3)网站开发后台专门技术 ASP.NET开发基础基于WebForm开发企业网站MVC框架学习EF框架学习基于MVC+EF开发企业网站 2、 ASP.NET概述 通过学习 HTML+CSS我们会制造静态页面了。静态页面的最大的优点是速度快,可以跨平台,跨服务器。在早期网站建设大多都是静态页面制作的,静态页面的网址是以.HTM、HTML 等为后缀的,在这种静态网站上也可以由动态效果,像滚动字幕,GIF 格式的动画,或是FLASH,这些视觉上的动态效果并不就是动态页面,他们是截然不同的概念。所谓动态网页,就是说该网页文件不仅具有 HTML 标记,而且含有服务器端的脚本程序代码, 实现操作数据库、实现交互等功能。动态网页能根据不同的时间,不同的来访者显示不同的内容
  • 如何从ASP.NET页面获取当前登录的Windows帐户?(How do I get the currently loggedin Windows account from an ASP.NET page?)
    问题 我有一个使用ASP.NET表单身份验证的ASP.NET 3.5应用程序。 在页面中编辑数据时,我希望能够获得当前登录到计算机中的Windows用户名(不登录到ASP.NET应用程序,而登录到Windows)。 如果使用Context.User.Identity.Name.Tostring() ,则将用户名登录到ASP.NET应用程序中,但是我需要Windows帐户名。 System.Security.Principal.WindowsIdentity.GetCurrent().Name.Tostring() 另外,它仅在我从Visual Studio运行网站时有效,但是在部署到IIS之后,它会返回NT AUTHORITY \ SYSTEM 。 回答1 您必须在配置中将身份验证模式设置为Windows ,还必须在授权标签中禁用匿名用户。 回答2 要使当前登录的用户进入Windows帐户,您必须使用Windows authentication而不是Forms authentication : System.Security.Principal.WindowsIdentity.GetCurrent()。Name.Tostring()也仅当我从Visual Studio运行网站时才有效,但是在部署到IIS之后,它会返回NT AUTHORITY \ SYSTEM
  • 名称“ ViewBag”在当前上下文中不存在(The name 'ViewBag' does not exist in the current context)
    问题 我有一台Windows 2003 R2服务器。 我必须运行一个.NET MVC3网站。 我已经安装了所有的运行时(1、2和4),我已经安装了所有的MVC框架(3和4),但是这个错误不会消失。 我有应该在适当的视图中的web.config。 我已经按照所有和每个解决方案来解决这个问题。 我还通过使用“添加可部署的依赖关系”(在mvc项目上单击鼠标右键)在bin文件夹中部署了所有dll。 在这一点上,我不知道该怎么办。 在线提出想法或解决方案。 我已经卸载并重新安装了所有的运行时,框架等。在我的本地计算机中,它运行得很好(Windows 7),但是在我部署时,出现以下错误。 编译器错误消息:CS0103:名称“ ViewBag”在当前上下文中不存在源错误: 第1行:@ { 第2行:ViewBag.Title =“主页”; 第3行:} 第4行:<h2> @ ViewBag.Message </ h2> 源文件:d:\ FamilyDermMVC \ Views \ Home \ Index.cshtml行:2 回答1 听起来您似乎在views文件夹中的Web.Config中缺少以下内容: /视图/Web.Config <?xml version="1.0"?> <configuration> <system.web.webPages.razor> <host factoryType
  • ASP.NET 4.5尚未在Web服务器上注册(ASP.NET 4.5 has not been registered on the Web server)
    问题 在我的Win 7开发机上,为了使用SQL Express实例而不是默认情况下安装的localDB。 我在MVC 4项目属性页(“ Web”选项卡)中未选中“使用IIS Express”,然后出现以下错误: ASP.NET 4.5尚未在Web服务器上注册。 您需要为ASP.NET 4.5手动配置Web服务器,以使站点正常运行。 我验证了IIS功能中已激活ASP.NET。 请采取什么措施来解决这个问题? 回答1 也许您必须在Visual Studio工具命令提示符下执行以下命令: aspnet_regiis -i 您可以在此处阅读有关ASP.NET IIS注册工具(Aspnet_regiis.exe)的更多信息。 回答2 在Windows 8.1上,由于.NET 4.5是内置的,因此解决方法是从管理命令提示符运行此命令: dism.exe /Online /Enable-Feature /all /FeatureName:IIS-ASPNET45 回答3 如果已安装.NET Framework 4.6,则可能会由于VS错误而看到此错误。 解决方法和解决方案在这里: http://blogs.msdn.com/b/webdev/archive/2014/11/11/dialog-box-may-be-displayed-to-users-when-opening-projects