更新: 这是我的.html页面看起来像和表格标签我有几个按钮(页面大小,保存到数据库,远程项目)
<div class="col-lg-12">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Records</h3>
</div>
@using (Html.BeginForm("Index", "MyController", FormMethod.Post, new { @id = "form_header" }))
{
<div class="panel-body">
<div class="row">
<div class="col-xs-4">
<div class="form-group">
<label for="" class="col-xs-5 control-label">Rows per page:</label>
<div class="col-xs-4">
@Html.DropDownListFor(m => m.PageSize,
new List<SelectListItem>
{
new SelectListItem() { Text = "10", Value = "10" },
new SelectListItem() { Text = "25", Value = "25" },
new SelectListItem() { Text = "50", Value = "50" },
new SelectListItem() { Text = "ALL", Value = "ALL" }
}, new { @class = "form-control", Name = "pageSizeDDL" })
</div>
</div>
</div>
<div class="row text-right">
<div class="col-xs-12">
<button class="btn btn-success" type="submit" id="btnSavetoDB" name="saveToDB" value="Save to DB">
<span> <i class="fa fa-save"></i> Save to Database </span>
</button>
<button class="btn btn-danger" type="submit" id="btnRemoveFromGrid" name="removeItems" value="Remove Item From Grid">
<span> <i class="fa fa-remove"></i> Remove </span>
</button>
</div>
</div>
</div>
<div class="col-lg-14">
<div class="panel-body">
<div class="row">
<div class="test" style="overflow: scroll; width: 100%">
<div style="width: 1000px">
@if (Model != null)
{
//grid
}
</div>
</div>
</div>
</div>
</div>
</div>
}
</div>
我已经看过各种各样的方法,但仍然没有说服最好的处理方法,在我的情况下,我有多个按钮或事件根据用户操作触发:在我的情况下的示例: 形式如下:
我有页面大小下拉列表,用户可以选择要显示的行数 我有一个导入按钮来导入文档 我有保存按钮 - 保存到数据库 我有一个删除按钮 - 从网格中删除
目前这就是我的布局:
[HttpPost]
public ActionResult Index(HttpPostedFileBase file, FormCollection formCollection, string pageSizeDDL, string saveToDB, string removeItems, string PageList)
{
if (file upload) {....}
if (formCollection) { .... }
if (pageSizeDDl {....}
..........
}
我的问题是:
如果我需要所有按钮的表单值,或者正确接近我正在做的方式,该怎么办?
我已经看到将每个按钮包裹在其自己的形式视图中我认为这不是正确的方法,原因是如果我在一个页面中有10个按钮是否意味着我必须有10个表单?