我有一个控制器,如下所示。我的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
按钮。如何实现这一点。
请建议谢谢。
答案 0 :(得分:1)
在asp.net mvc中有多种方法可以处理多个按钮。最常用的是为输入控件提供名称和值,并在服务器端获取值。 即。 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属性指定在提交表单时将表单数据发送到何处。此属性会覆盖表单的action属性。 formaction属性仅用于type =“submit”
的按钮[HttpPost]
public ActionResult saveaction()
{
return View();
}
[HttpPost]
public ActionResult cancelaction()
{
return View();
}