在MVC开发中,经常会遇到一个页面中有多个提交按钮,不同的按钮对应不同的功能,比如:监控 取消监控
在webform中我们不讨论,但是在ASP.NET MVC 中一个表单只能提交一个Action处理,相对比较麻烦些,下面我们开始实现:
实现方式:
首先Web前端设置功能按钮的name属性如:
<input type="submit" value="监控" name="actionForm" />
<input type="submit" value="取消监控" name="actionForm"/>
然后在Controller中判断
//监控用户资料
[HttpPost]
public ActionResult AdminUserProfile(string actionForm,string paramer1,string paramer2)
{
if (actionForm == "监控")
{
//处理代码
return RedirectToAction("TipInfo", "Common", new { area = "Office" });//跳转至成功页面
}
else if (actionForm == "取消监控")
{
//处理代码
return RedirectToAction("TipInfo", "Common", new { area = "Office" });//跳转至成功页面
}
else
{
//处理代码
}
return View();
}
Controller中的代码还有一种写法:
//监控用户资料
[HttpPost]
public ActionResult AdminUserProfile(FormCollection collection)
{
if (collection.Count > 0)
{
if (collection["actionForm"] == "监控")
{
//处理代码
return RedirectToAction("TipInfo", "Common", new { area = "Office" });//跳转至成功页面
}
else if (collection["actionForm"] == "取消监控")
{
//处理代码
return RedirectToAction("TipInfo", "Common", new { area = "Office" });//跳转至成功页面
}
else
{
//处理代码
}
}
return View();
}