Asp.net mvc ASP.NET属性仅在ASP.NET文件中允许

Asp.net mvc ASP.NET属性仅在ASP.NET文件中允许,asp.net-mvc,razor,runatserver,runat,Asp.net Mvc,Razor,Runatserver,Runat,我们最近将MVC3站点升级为MVC4(准备就绪后将升级到5个),现在Visual Studio 2013[Update 3]突然在错误列表中出现了大量“错误”,这些错误似乎没有破坏构建,但到处都是,很难发现真正的错误 <table ID="myNiftyTable" runat="server" style="vertical-align:top; width:600px"> 由于runat=“server”属性,类似的标记(如等)都会给出错误消息“ASP.NET属性仅允许在A

我们最近将MVC3站点升级为MVC4(准备就绪后将升级到5个),现在Visual Studio 2013[Update 3]突然在错误列表中出现了大量“错误”,这些错误似乎没有破坏构建,但到处都是,很难发现真正的错误

<table ID="myNiftyTable" runat="server" style="vertical-align:top; width:600px">

由于runat=“server”属性,类似的标记(如等)都会给出错误消息“ASP.NET属性仅允许在ASP.NET文件中使用”

我们使用了一些脚本工具将旧的.aspx视图转换为Razor.cshtml,因此上面的元素以前看起来像

<asp:Table ID="myNiftyTable" runat="server" Width="600px" HorizontalAlign="Left">

我是否应该,我是否可以去掉所有这些
runat=“server”
属性?新的web应用程序似乎在VS debug中运行正常,但我还没有彻底测试所有的pages&Controller方法,因此我不确定是否要这样做,以防它破坏某些东西。

runat=“server”仅是Webforms所需。它也不应该出现在MVC3应用程序中。你肯定应该删除对它们的所有引用

您应该能够轻松地跨项目中的所有视图进行查找和替换。只有Webforms才需要runat=“server”。它也不应该出现在MVC3应用程序中。你肯定应该删除对它们的所有引用


您应该能够轻松地跨项目中的所有视图进行查找和替换。

是的,您可以/应该摆脱它们

发生的情况是,
runat=“server”
被呈现为一个HTML属性,就像您在
表中添加了一个随机的
name=“value”
属性一样。它增加了,但什么也不做

runat=“server”
无处不在不会破坏您的网站,但它没有任何作用,因为使用razor的ASP.NET MVC视图没有代码隐藏


一个简单的全部替换将很快解决您的问题。

是的,您可以/应该摆脱它们

发生的情况是,
runat=“server”
被呈现为一个HTML属性,就像您在
表中添加了一个随机的
name=“value”
属性一样。它增加了,但什么也不做

runat=“server”
无处不在不会破坏您的网站,但它没有任何作用,因为使用razor的ASP.NET MVC视图没有代码隐藏

一个简单的全部替换将很快解决您的问题