ASP.NET属性仅允许在ASP.NET文件中使用

时间:2014-09-15 22:00:57

标签: asp.net-mvc razor runatserver runat

我们最近将我们的MVC3站点升级到MVC4(当我们准备就绪时将升级到5)现在突然间Visual Studio 2013 [更新3]提供了大量的错误"错误&#34 ;在错误列表中,似乎没有打破构建但是到处都是,并且很难发现真正的错误。

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

类似的标签等等都提供了错误消息&#34; ASP.NET属性只允许在ASP.NET文件中使用。&#34;因为runat =&#34;服务器&#34;属性。

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

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

我可以,我可以摆脱所有runat="server"属性吗?新的网络应用程序似乎在VS调试中运行正常,但我还没有详尽地测试所有页面和&amp;控制器方法还是如此,我不确定我是否愿意这样做,万一它会破坏某些东西。

2 个答案:

答案 0 :(得分:3)

RUNAT =&#34;服务器&#34;只有Webforms才需要。它也不应该在你的MVC 3应用程序中。你绝对应该删除对它们的所有引用。

你应该能够通过Find&amp; amp;替换项目中的所有视图都没有太大困难。

答案 1 :(得分:1)

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

runat="server"呈现为HTML属性,就好像您已为name="value"添加了随机table属性一样。它增加并且什么都不做。

在任何地方都有runat="server"不会破坏你的网站,但它没有用处,因为带有razor的ASP.NET MVC视图没有代码隐藏。

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