的WebGrid asp.net MVC3的项目员额 [英] post items of webgrid asp.net mvc3
本文介绍了的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屋!
查看全文