ASP.NET MVC 2 Editor用于呈现错误的标记

时间:2010-08-10 08:39:40

标签: asp.net-mvc-2

我有以下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" />

我反对的位是元素id和ViewData_Model_的{​​{1}}前缀。 name属性的前缀。

我不知道这个前缀来自哪里,当然这意味着模型在发布表单时永远不会受到限制。

还有另外一种方法,我可以控制生成的标记,或者这是框架中的错误。我在其他部分使用了EditorFor,它工作正常。

1 个答案:

答案 0 :(得分:1)

更改

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

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