2010-05-24 64 views
1

我有一個複雜的對象,如果我呈現了這種方式:在ASP.NET MVC 2.0使用EditorFor渲染跨度

<%=Html.EditorFor(x => x.ContactRoleDto.Competencies[0].Name) %> 

上述生成具有名稱和ID標籤下面的元素,我想:

<input Size="40" id="ContactRoleDto_Name" maxlength="100" name="ContactRoleDto.Name" type="text" value="" /> 

我想渲染正確的ID和name屬性是在相同的形式上面的標記,即ContactRoleDto.Competencies [0]請將.Name」

是怎樣的最好的方式做到這一點?

我真正想要的是能夠拉出正確的ID和名稱字段,這將幫助我模型綁定動態生成或呈現的表。

ModelMetaData是最好的方式去,我不想去UIHint路線。

回答

0

您可以使用ExpressionHelper.GetExpressionText方法。例如:

Expression<Func<string, YourModel>> expression = x => x.ContactRoleDto.Competencies[0].Name; 
string id = ExpressionHelper.GetExpressionText(expression);