Ошибки проекта MVC после добавления элемента управления .ascx

#asp.net-mvc-3 #razor #ascx

#asp.net-mvc-3 #razor #ascx

Вопрос:

Я пытался добавить пользовательский элемент управления .ascx в мои EditorTemplates, но это приводит к появлению сотни ошибок в моем проекте MVC 3. Каждая ссылка на «System.» выдает ошибки как «не определено», и компилятор хочет, чтобы я обновил их до «Глобальных».System.«

Кто-нибудь может сказать мне, почему добавление пользовательского элемента управления приводит к этому?

Спасибо

Обновить:

Если я удалю файлы с кодом, которые создаются автоматически (и я не думаю, что мне это нужно), тогда проблемы, похоже, разрешатся. Очень интересно…

Ответ №1:

Пользовательские элементы управления (содержимое с runat="server" ) — это не то, что следует использовать в ASP.NET Приложение MVC. Обычно они полагаются на обратную передачу и ViewState, которые являются понятиями, которые больше не существуют в ASP.NET MVC. Вы могли бы использовать ascx шаблон partial / editor и вызвать его из Razor view. Итак, например, давайте предположим, что у вас есть следующее частичное:

 <%@ Control 
    Language="C#" 
    Inherits="System.Web.Mvc.ViewUserControl<AppName.SomeViewModel>" %>

<%= Html.LabelFor(x => x.Foo) %>
<%= Html.TextBoxFor(x => x.Foo) %>
  

Вы могли бы включить его из Razor view следующим образом:

 @Html.Partial("NameOfThePartial")
  

Комментарии:

1. Похоже, это корень проблемы. Я хотел шаблон редактора ascx, но добавлял в свой проект неправильную вещь.