ASP.NET MVC 2 Editor для рендеринга неправильной разметки - PullRequest
1 голос
/ 10 августа 2010

У меня есть следующий шаблон asp.net mvc2:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ncontinuity2.core.dto.TrainingLookUpContainer>" %>
<%= Html.EditorFor(x => ViewData.Model.TrainingTree, "TrainingCategory")%>

Вы видите, что я хочу привязать его к модели типа TrainingLookUpContainer.

Проблема заключается в следующемгенерируется разметка:

<input id="ViewData_Model_TrainingTree_TrainingCourses_0__Uid" name="ViewData.Model.TrainingTree.TrainingCourses[0].Uid" type="hidden" value="cbd43b5a-2a6a-493f-98e4-9dc9010cbaaf" />

Бит, на который я возражаю, является префиксом ViewData_Model_ для идентификатора элемента и ViewData.Model.префикс для атрибута имени.

Я понятия не имею, откуда взялся этот префикс, и это, конечно, означает, что модель никогда не привязывается, когда дело доходит до публикации формы.

Есть ли другойКстати, я могу контролировать разметку, которая генерируется или это ошибка в рамках.Я использовал EditorFor в других частях, и он отлично работает.

1 Ответ

1 голос
/ 10 августа 2010

изменить

<%= Html.EditorFor(x => ViewData.Model.TrainingTree, "TrainingCategory")%>

на

<%= Html.EditorFor(x => x.TrainingTree, "TrainingCategory")%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...