2010-05-24 3 views
1

У меня есть сложный объект, который, если бы я сделать таким образом:Использование EditorFor в ASP.NET MVC 2.0, чтобы сделать пролет

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

выше генерирует следующий элемент, который имеет имя и идентификационный теги, которые я хочу:.

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

Я хотел бы, чтобы сделать тег с правильным идентификатором и именем атрибутами, которые находятся в той же форме, как и выше, т.е. ContactRoleDto.Competencies [0] .Name»

Как это лучший способ добиться этого?

Все, что я действительно хочу - это возможность вытащить правильные поля id и name, которые помогут мне привязать модель к динамической сгенерированной или рендеринговой таблице.

Является ли ModelMetaData лучшим способом, я не хочу идти по маршруту UIHint.

ответ

0

Вы можете использовать метод ExpressionHelper.GetExpressionText. Например:

Expression<Func<string, YourModel>> expression = x => x.ContactRoleDto.Competencies[0].Name; 
string id = ExpressionHelper.GetExpressionText(expression); 
Смежные вопросы