将文本框值作为参数传递给动作? MVC

时间:2017-08-16 11:02:58

标签: jquery .net asp.net-mvc asp.net-mvc-4 razor

我必须在页面主文件和详细信息上保存方法,如此

 @using (Html.BeginForm("Create", "Code_Main", System.Web.Mvc.FormMethod.Post))
{
   @Html.EditorFor(model => model.Main_Code, new { htmlAttributes = new { @Value = ViewBag.Main_Code } })
   @Html.EditorFor(model => model.Main_CodeDD, new { htmlAttributes = new { @Value = ViewBag.Main_CodeDD } })

  @Html.EditorFor(model => model.CType_D, new { htmlAttributes = new { @Value = ViewBag.CType_D } })



    <button id="cmd_Add_List" type="image" tabindex="4" onclick="" onclick="location.href='@Url.Action("Create", "Code_Main")  '">
                                        Save
                                    </button>

}

在此保存点击中,我保存传递给创建操作的值

    [HttpPost]
    public ActionResult Create(FormCollection collection)
    {
    //sucess     
       return view();
     }

现在在另一个点击按钮我想保存其他领域,如前2 Main_Code和Main_CodeDD SO

  <button id="cmdsave_2" style="background-image: url(@Url.Content("~/Images/save.gif")); background-color: white; border: none; height: 32px; width: 65px;"                                                                                               type="submit" tabindex="4" 
 onclick="location.href='@Url.Action("save_Main", "Code_Main" , new { 
 Main_ID = document.getElementById('Main_ID').value , Main_CodeDD = 
 document.getElementById('Main_CodeDD').value , cmbAType_SD = 
 document.getElementById('cmbAType_SD').value , cmbCType_SD = 
 document.getElementById('cmbCType_SD').value})  />

此按钮单击不调用

      [HttpPost]
      public ActionResult  Save_Main(string Main_ID  ,string Main_Code  ,   string Main_CodeDD , string cmbAType_SD  , string cmbCType_SD )
    {

        try
        {



        }
        catch { }

        return View("Index");
    }

但是创建一个叫做的动作可以告诉我如何调用不同的动作并将参数传递给它

2 个答案:

答案 0 :(得分:0)

只需删除&#34; Onclick&#34;提交按钮的属性,它将使用文本框的值调用该函数。 location.href不会发布数据,而是会在控制器中查找[httpget] create action

答案 1 :(得分:0)

您的按钮不提交表单值,只是重定向提供的网址。

你必须使用

<input type="submit" value="Submit form values" />

您开始生成表单的行包含操作和控制器的名称,因此您不需要在提交元素中提供URL。