两个提交按钮在同一视图和控制器内的不同形式
问题描述:
我有一个视图屏幕上有两个不同的形式,它将以不同的方式激活。如果第一个按钮被点击,第一个表单出现,用户可以填写并提交之后,他继续点击另一个按钮来激活另一个表单,然后将其提交给不同的表格。我试着给它不同的每个提交按钮不同的名称,但我的控制器不识别名称。任何帮助将不胜感激。 这是我的看法目前两个提交按钮在同一视图和控制器内的不同形式
<div class="container">
<form class="form-horizontal" role="form" method="post" id="head">
<div class="form-group">
<label for="warehouse" class="col-sm-2 control-label">Transaction type</label>
<div class="col-sm-7">
@Html.TextBoxFor(m => m.vwint0, ViewBag.action_flag == "Create" ? (object)new { @class = "form-control", style = "width : 120px", @maxlength = 10 } : new { @disabled = "disabled", style = "width : 120px" })
@Html.ValidationMessageFor(m => m.vwint0)
</div>
</div>
<div class="form-group">
<label for="code" class="col-sm-2 control-label">Customer code</label>
<div class="col-sm-7">
@Html.DropDownListFor(m => m.vwstring1, ViewBag.cus as SelectList, "Select", new { @class = "form-control" })
</div>
</div>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<button type="submit" class="btn btn-primary" name="update" value="headsub">Submit</button>
</div>
</div>
</form>
<form class="form-horizontal" role="form" method="post" id="details">
<div class="form-group">
<label for="firstName" class="col-sm-2 control-label">Sale sequence number </label>
<div class="col-sm-9">
@Html.TextBoxFor(m => m.vwint0, new { @class = "form-control", style = "width : 80px", maxlength = 10 })
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Quote sequence</label>
<div class="col-sm-9">
@Html.TextBoxFor(m => m.vwstring9, new { @class = "form-control", style = "width : 80px", maxlength = 10 })
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">Item code</label>
<div class="col-sm-9">
@Html.DropDownListFor(m => m.vwstring10, ViewBag.item as SelectList, "Select", new { @class = "form-control" })
</div>
</div>
<div class="form-group">
<div class="col-sm-9 col-sm-offset-3">
<button type="submit" class="btn btn-primary" name="update" value="detailsub">Submit</button>
</div>
</div>
</form>
</div>
在我的控制,我试过,但我的控制器甚至没有认识到按钮的名称。
if (update == "headsub")
{
AR_002_SALES gdoc = new AR_002_SALES();
gdoc.sale_sequence_number = glay.vwint0;
gdoc.customer_code = glay.vwstring1;
gdoc.currency_code = glay.vwstring2;
}
else
{
AR_002_QUOTE = new AR_002_QUOTE();
AR_002_QUOTE.sale_sequence_number = glay.vwint0;
AR_002_QUOTE.quote_sequence = glay.vwstring9;
AR_002_QUOTE.item_code = string.IsNullOrWhiteSpace(glay.vwstring10) ? "" : glay.vwstring10;
AR_002_QUOTE.quote_qty = glay.vwdclarray0[0];
AR_002_QUOTE.price = glay.vwdclarray0[1];
}
答
而不是使用<form class="form-horizontal" role="form" method="post" id="head">
使用@using (Html.BeginForm("ActionMethod", "Controller", FormMethod.Post, new { @class = "form-horizontal" ,@id="head" }))
提交表单和行动方法过程中形成的,并不会stuff.Similarly可以为另一种形式做也。
在您的.cshtml中,它看起来不会触及该控制器的任何操作方法。
请你能解释一下它不起作用吗? “控制器甚至不识别按钮名称”是什么意思,你还没有发布控制器代码? – Luke
提交按钮不起作用,当我点击它时,控制器无法检测到传递的值 – Debbyemie