我有一个html助手, 如果我这样称呼它:
Html.MyHelper("Prop1")
我可以获得另一个属性的数据:
public static MvcHtmlString MyHelper(
this HtmlHelper html,
string prop){
var p = TypeDescriptor.GetProperties(html.ViewData.Model).Find("Prop2", false);
if (p != null) value = p.GetValue(html.ViewData.Model);
}
但如果这样称呼:
Html.EditorFor(x => x.Prop1);
模板包含:
<%= Html.MyHelper(ViewData.TemplateInfo.GetFullHtmlFieldName(""), ViewData.TemplateInfo.FormattedModelValue) %>
比我无法获得Prop2的值,任何人都知道如何获得它?
答案 0 :(得分:1)
您可以传递模型对象或创建新模型对象以传入
Html.EditorFor(x => x, "Prop1");
Html.EditorFor(x => new Prop1Model { X = Model.Prop1, Y = Model.Prop2 }, "Prop1");