的WebGrid asp.net MVC3的项目员额 [英] post items of webgrid asp.net mvc3

查看:93
本文介绍了的WebGrid asp.net MVC3的项目员额的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的这些DTO的

 公共类头
{
    公众诠释HeaderId {获取;设置;}
    公众诠释说明{获取;设置;}
    公开名单< HeaderItem> HeaderItems {获取;设置;}}公共类HeaderItem
{
    公众诠释HeaderItemId {获取;设置;}
    公共字符串DetailDescription {搞定;组; }
    公共BOOL选择{搞定;组; }
}

和我有这个控制器

  [HttpPost]
    公众的ActionResult的PostMethod(头DTO)
    {
        ...
    }

和这个网站

  @using(Html.BeginForm(的PostMethod,控制器,FormMethod.Post,新{ID =形式})){@ Html.TextBoxFor(X => x.Description)VAR电网=新的WebGrid(Model.HeaderItems);
    }
    @ grid.GetHtml(TABLESTYLE:网格,
    htmlAttributes:新{ID =网格},
    列:grid.Columns(
    grid.Column(选择,秒,格式:(项目)=> Html.CheckBox(的String.Format(Selected_ {0}(INT)item.HeaderItemId),FALSE)),
    grid.Column(HeaderItemId,,格式:(项目)= GT; Html.Hidden(HeaderItemId)),
    grid.Column(DetailDescription,说明)
    )


}

所以,该网格有一个复选框和HiddenField持有的每一行的HeaderItemId值。

我想我的发布形式,并有填充头类的我的财产HeaderItems。

我怎么能达到这个解决方案?


解决方案

  

我怎么能达到这个解决方案?


这样的:

 列:grid.Columns(
    grid.Column(
        选定
        SEC
        格式:
            @<文字和GT;
                @ {VAR指数= Guid.NewGuid()的ToString(); }
                @ Html.Hidden(HeaderItems.Index指数)
                @ Html.Hidden(HeaderItems [+指数+] .HeaderItemId(INT)item.HeaderItemId)
                @ Html.CheckBox(HeaderItems [+指数+] .Selected(布尔)item.Selected)
            < /文字和GT;
    )
    grid.Column(HeaderItemId)
    grid.Column(DetailDescription,说明)

I have these DTO's

public class Header
{
    public int HeaderId{get;set;}
    public int Description{get;set;}
    public List<HeaderItem> HeaderItems{get;set;}

}

public class HeaderItem
{
    public int HeaderItemId{get;set;}
    public string DetailDescription{ get; set; }
    public bool Selected{ get; set; }
}

and I have this Controller

    [HttpPost]
    public ActionResult PostMethod(Header dto)
    {
        ...
    }

and this html

  @using (Html.BeginForm("PostMethod", "Controller", FormMethod.Post, new { id = "form" }))

{

@Html.TextBoxFor(x => x.Description)    

var grid = new WebGrid(Model.HeaderItems);
    }
    @grid.GetHtml(tableStyle: "grid",
    htmlAttributes: new { id = "grid" },
    columns: grid.Columns(
    grid.Column("Selected", "Seç", format: (item) => Html.CheckBox(String.Format("Selected_{0}", (int)item.HeaderItemId), false)),
    grid.Column("HeaderItemId", "", format: (item) => Html.Hidden("HeaderItemId")),
    grid.Column("DetailDescription", "Description")
    )

}

So, this grid have a checkbox and a HiddenField that hold the HeaderItemId value of each row.

I would like to post my form and have my property HeaderItems of Header class filled.

How could I reach this solution?

解决方案

How could I reach this solution?

Like this:

columns: grid.Columns(
    grid.Column(
        "Selected", 
        "Seç", 
        format: 
            @<text>
                @{ var index = Guid.NewGuid().ToString(); }
                @Html.Hidden("HeaderItems.Index", index)
                @Html.Hidden("HeaderItems[" + index + "].HeaderItemId", (int)item.HeaderItemId)
                @Html.CheckBox("HeaderItems[" + index + "].Selected", (bool)item.Selected)
            </text>
    ),
    grid.Column("HeaderItemId")
    grid.Column("DetailDescription", "Description")
)

这篇关于的WebGrid asp.net MVC3的项目员额的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆