Атрибуты ASP.NET разрешены только в файлах ASP.NET

Недавно мы обновили наш MVC3-сайт до MVC4 (затем перейдем к 5, когда мы будем готовы), и теперь внезапно Visual Studio 2013 [обновление 3] выдает тонны "ошибок" в списке ошибок, которые не кажется, что ломает сборку, но повсеместно и затрудняет выявление реальных ошибок.

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

И подобные теги, как, и т. Д., Все это сообщение об ошибке "Атрибуты ASP.NET разрешены только в файлах ASP.NET". из-за атрибута runat="server".

Мы использовали некоторые скриптовые инструменты для преобразования старых.aspx Views в Razor .cshtml, так что вышеупомянутый элемент раньше выглядел так

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

Должен ли я, могу ли я просто избавиться от всех этих runat="server" атрибуты? Кажется, что новое веб-приложение работает нормально в отладке VS, но я еще не исчерпывающе проверил все страницы и методы контроллера, поэтому я не уверен, что хочу сделать это, если что-то сломается.

2 ответа

Решение

runat="server" требуется только для веб-форм. Этого не должно быть в вашем приложении MVC 3. Вы должны обязательно удалить все ссылки на них.

Вы должны быть в состоянии сделать это с помощью функции "Найти и заменить" для всех представлений в вашем проекте без особых затруднений.

Да, вы могли бы / должны избавиться от них.

Что происходит то runat="server" отображается как атрибут HTML, как если бы вы добавили случайный name="value" приписать к вашему table, Это добавляет и ничего не делает.

имеющий runat="server" Ваш сайт не сломается, но это бесполезно, так как представление ASP.NET MVC с бритвой не имеет кода.

Простая замена - все быстро решит вашу проблему.

Другие вопросы по тегам