从同一页面调用两个按钮不起作用

时间:2014-06-26 12:40:31

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

我有一个带有表格的MVC5应用程序,当您点击创建它时,导航到新页面,其中包含用于放置数据和保存的表单。目前这个工作正常,问题是我需要添加一个额外的按钮来调用新动作但不会导航到其他页面,只需调用它并获得响应。

当我将以下两个按钮放在不同的页面时,它们都可以正常工作,但当我将它们添加到同一页面时,第二个按钮会调用第一个按钮的创建动作。

如何避免?

这是调用创建操作的保存按钮

<div class="form-group">
    <div class="col-md-offset-2 col-md-10">
        <input type="submit" id="actbtn" value="Create"  />
    </div>
</div>

这是在不同页面中正常工作的第二个按钮,当我复制它时 在创建页面中,它调用创建操作。我知道这是因为提交,但我该如何避免呢?

    @using (Html.BeginForm("Check", "User", new { Name = Model.Name }))
    {
        <input type="submit" id="btn" value="Check" />
        <span id='result'></span>
    }

如何在控制器用户中调用操作检查?

2 个答案:

答案 0 :(得分:2)

为每个按钮添加名称属性,如下所示

<input type="submit" value="Send" class="btn btn-default" name="buttonType" />
<input type="submit" value="Search" class="btn btn-default" name="buttonType" />

在Controller Action中,

[HttpPost, ActionName("Index")]
[ValidateAntiForgeryToken]
public ActionResult Index(string buttonType)
{
  if (buttonType == "Send")
     {
          // add your stuffs for the first button 
     }
  else
     {
          // add your stuffs for the second buttonbutton
     }
}

答案 1 :(得分:1)

这是你需要做的......

@using (Html.BeginForm("YourSaveActionName", "User", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
      <div class="form-group">
         <div class="col-md-offset-2 col-md-10">
            <input type="submit" id="actbtn" value="Create"  />
         </div>
      </div>
}


@using (Html.BeginForm("Check", "User", new { Name = Model.Name }))
{
     <input type="submit" id="btn" value="Check" />
     <span id='result'></span>
}