0

我的模型如下

 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))

我想要一些我传递字段名称的东西,它显示相关字段并进行验证

4

2 回答 2

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 的隐藏字段并检索服务器上的其他值。

于 2013-05-16T09:14:07.347 回答
0

有这个Html.EditorFor(m => m.Property)方法(你的模型应该设置PlaceOrder为使用这个助手,就像任何静态类型的助手一样)。

编辑:呸,肯尼斯更快:-)。

于 2013-05-16T09:17:00.197 回答