2010-08-10 88 views
1

我有以下asp.net MVC2模板:ASP.NET MVC 2 EditorFor渲染錯誤標記

<%@ 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的id的ViewData_Model_前綴。名稱屬性的前綴。

我不知道這個前綴來自哪裏,這當然意味着模型在發佈表單時從未受到約束。

有沒有另外一種方法,我可以控制標記的產生,或者這是一個錯誤在框架中。我在其他部分使用了EditorFor,它工作正常。

回答

1

變化

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

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

哈哈,臭蟲以確實的框架,錯誤與我的大腦。 – dagda1 2010-08-10 08:57:53