我的模型如下
public class PlaceOrder
{
public int orderCode { set; get; }
public string Order_ID { set; get; }
public int orderDetailCode { set; get; }
[Required]
public string Topic { set; get; }
//50 more fields are there
}
使用editorforModel显示模型中的所有字段。我希望有一个编辑器帮助器,它接受属性名称,只显示该特定属性的编辑器。
我为我的模型编写了一个创建/编辑/详细信息操作并且工作正常。我的最终目标是,我希望在详细信息视图的每个字段旁边都有编辑按钮。一旦我点击编辑它就可以更新并验证输入
修改 我正在使用以下代码段进行编辑链接
@(Html.Awe().PopupFormActionLink()
.LinkText("Edit")
.Name("editP")
.Url(Url.Action("PropertyEdit", "PlaceOrder", new
{
PropertyName = Html.NameFor(model => model.SubjectCategoryCode),
propertyValue = Html.IdFor(model => model.SubjectCategoryCode),
ordercode = Model.orderCode
})
)
.Title("Editor for " + Html.NameFor(model => model.SubjectCategoryCode))
我希望我传递字段名称并显示相关字段并进行验证
答案 0 :(得分:0)
您可以为每个字段使用EditorFor和表单:
@using Html.BeginForm("action", "controller")
{
@Html.EditorFor(m => m.ordercode)
<input type="submit" />
}
@using Html.BeginForm("action", "controller")
{
@Html.EditorFor(m => m.orderDetailCode)
<input type="submit" />
}
当然,您需要为每个项目执行不同的操作,并且您还需要一种方法来获取其他值,因为您只向控制器发布了一个值。要实现此目的,您可以包含带有id的隐藏字段,并检索服务器上的其他值。
答案 1 :(得分:0)
这里有Html.EditorFor(m => m.Property)
方法(您的模型应设置为PlaceOrder
以使用此帮助程序,与任何静态类型的帮助程序一样。)
编辑:Bah,Kenneth更快: - )。