我有一个如下所示的控制器。 和我的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();
}