复杂对象的自定义 EditorTemplate 采用主对象成员而不是成员对象的成员
Custom EditorTemplate for complex object takes main object members instead of member object's member
我目前正在为一个系统开发一个界面,我遇到了一个对我来说很奇怪的问题。
我有一个 Command
class,它看起来像这样:
public class Command
{
public string Name { get; set; }
public List<Parameter> Parameters { get; set; }
}
而 Parameter
class 是:
public class Parameter
{
public string Name { get; set; }
public string Value { get; set; }
}
所以我创建了一个视图来在同一页面上编辑命令及其参数。我的 class Parameter
(在 Views\Commander\EditorTemplates 中)有一个 EditorTemplate:
@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
。
我终于设法解决了我的问题。我在为我的成员赋值时遇到了一个错字,它使用了命令的名称而不是参数的名称 -_-'
我目前正在为一个系统开发一个界面,我遇到了一个对我来说很奇怪的问题。
我有一个 Command
class,它看起来像这样:
public class Command
{
public string Name { get; set; }
public List<Parameter> Parameters { get; set; }
}
而 Parameter
class 是:
public class Parameter
{
public string Name { get; set; }
public string Value { get; set; }
}
所以我创建了一个视图来在同一页面上编辑命令及其参数。我的 class Parameter
(在 Views\Commander\EditorTemplates 中)有一个 EditorTemplate:
@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
。
我终于设法解决了我的问题。我在为我的成员赋值时遇到了一个错字,它使用了命令的名称而不是参数的名称 -_-'