通过将模型类作为参数传递 asp.net MVC 中获取按钮值



我有一个如下所示的控制器。 和我的Login视图 我有以下字段,如下所示。

    // login model is my model class
    [HttpPost]
    public ActionResult Login(Login model)
    {
       return View();
    }

@using (Html.BeginForm())
{   
    <p> 
    UserName: @Html.TextBoxFor(m=>m.UserName)
   </p>   
  <p>
    Password: @Html.PasswordFor(m => m.Password)
  </p>
  <p>
     <input type="submit" name="login" value="Login" />
    <input type="submit" name="cancel" value="Cancel" />
  </p>  }

我想在控制器中检查用户是否单击了cancel按钮或login按钮。 如何实现这一点。

请指教,谢谢。

有多种

方法可以在 MVC 中处理多个按钮 asp.net 最常用的方法是为输入控件提供名称和值,并在服务器端获取值。即。CSHTML 页面

<input type="submit" name="save" value="Save" />
<input type="submit" name="cancel" value="Cancel" />
[HttpPost]
public ActionResult actionname(string save,string cancel)
{
    string controlClicked = string.empty;
    if(!string.IsNullOrEmpty(save))
    {
        controlClicked  = "save";
    }
    if (!string.IsNullOrEmpty(cancel))
    {
       controlClicked  = "cancel";
    }
    return View();
}

"创建"按钮并在表单操作属性中提供操作名称。

<input type="submit" name="save" value="save" formaction="saveaction" formmethod="post" />
<input type="submit" name="cancel" value="cancel" 
formaction="cancelaction" formmethod="post" />

formaction 属性指定在提交表单时将表单数据发送到何处。此属性将覆盖窗体的操作属性。formaction 属性仅用于 type="submit" 的按钮

[HttpPost]
public ActionResult saveaction()
{
    return View();
}
[HttpPost]
public ActionResult cancelaction()
{
     return View();
}

最新更新