我有一个复杂类型的许可证作为视图模型。
public class License
{
public string Name { get; set; }
// Other Properties
public List<Function> Functions { get; set; }
}
public class Function
{
public string Name { get; set; }
// Other Properties
public List<Unit> Units { get; set; }
}
public class Unit
{
public string Name { get; set; }
// Other Properties
}
Function 的视图模板和 Unit 的视图模板都是动态渲染的。所以html看起来像这样:
<!-- LicenseView -->
@model License
@Html.TextBoxFor(m => m.Name) // this is OK
@for(int i=0; i<Model.Functions.Count; i++)
{
@Html.Partial(Model.Functions[i].Name, Model.Functions[i])
}
FunctionView 可能看起来像这样
@model Function
@Html.TextBoxFor(m => m.Name) // the generated html element's name is just 'Name'
@for(int i=0; i < Model.Units.Count; i++)
{
@Html.Partial(Model.Units[i].Name, Model.Units[i])
}
这是 UnitView
@model Unit
@Html.TextBoxFor(m => m.Name) // the generated html element's name is just 'Name'
所以我的问题是,我应该怎么做才能使 Name 属性正确?
非常感谢