两个提交按钮在同一视图和控制器内的不同形式

问题描述:

我有一个视图屏幕上有两个不同的形式,它将以不同的方式激活。如果第一个按钮被点击,第一个表单出现,用户可以填写并提交之后,他继续点击另一个按钮来激活另一个表单,然后将其提交给不同的表格。我试着给它不同的每个提交按钮不同的名称,但我的控制器不识别名称。任何帮助将不胜感激。 这是我的看法目前两个提交按钮在同一视图和控制器内的不同形式

<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]; 
} 
+0

请你能解释一下它不起作用吗? “控制器甚至不识别按钮名称”是什么意思,你还没有发布控制器代码? – Luke

+0

提交按钮不起作用,当我点击它时,控制器无法检测到传递的值 – Debbyemie

而不是使用<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中,它看起来不会触及该控制器的任何操作方法。