复杂对象的自定义EditorTemplate接受主对象成员而不是成员对象's成员
本文关键字:对象 成员 成员对象 EditorTemplate 自定义 复杂 | 更新日期: 2023-09-27 18:13:11
我目前正在为一个系统开发一个接口,我遇到了一个对我来说似乎很奇怪的问题。
我有一个Command
类,它看起来像这样:
public class Command
{
public string Name { get; set; }
public List<Parameter> Parameters { get; set; }
}
Parameter
类为:
public class Parameter
{
public string Name { get; set; }
public string Value { get; set; }
}
因此,我已经创建了一个视图,以便在同一页面上编辑命令及其参数。我有一个编辑器模板为我的类Parameter
(在Views'Commander'EditorTemplates):
@model MyApplication.Models.Parameter
<div class="form-horizontal">
<div class="form-group">
@Html.LabelFor(model => model.Name)
<div class="col-md-10">
@Html.EditorFor(model => model.Name)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Value)
<div class="col-md-10">
@Html.EditorFor(model => model.Value)
</div>
</div>
</div>
和我的Command
编辑器视图(在Views'Commander):
@model MyApplication.Models.Command
@using (Html.BeginForm())
{
<div class="form-horizontal">
<div class="form-group">
@Html.LabelFor(model => model.Name)
<div class="col-md-10">
@Html.EditorFor(model => model.Name)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Parameters)
<div class="col-md-10">
@Html.EditorFor(model => model.Parameters)
</div>
</div>
</div>
<input type="submit" value="Save"/>
}
我的问题是,我的编辑视图需要Command.Name
值,并把它放在Parameter.Name
字段。这对某些人来说可能很明显,但我真的不知道是什么原因造成的。谁能给我指个方向吗?
编辑:假设我的命令是RunExe -path C:'FooBar.exe
。当我打开这个命令的编辑页面时,在我的参数名称编辑字段中显示的不是path
,而是RunExe
。
和我仍然有RunExe
在命令名称编辑,和C:'FooBar.exe
在参数值编辑
我终于解决了我的问题。我只是在给我的成员赋值时出现了一个错别字,它使用了命令的名称而不是参数的名称-_-'