【发布时间】:2014-07-17 12:14:09
【问题描述】:
我有一个简单的form,里面有两个buttons。每个button 都必须在我的controller 中将我重定向到不同的view。我在网上寻找一些例子,找到了解决方案并实施了它们。不幸的是,它对我不起作用。
控制器:
public class HomeController : Controller
{
private MovieEntities db = new MovieEntities();
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
[Button(ButtonName = "clickButton", ButtonValue = "Send")]
public ActionResult Send()
{
return View();
}
[HttpPost]
[Button(ButtonName = "clickButton", ButtonValue = "Reset")]
public ActionResult Reset()
{
return View();
}
}
索引视图:
@model IEnumerable<CustomWizzardMVC.Models.MovieInfo>
@{
ViewBag.Title = "Home";
}
<h1>Insert informations</h1>
@using(Html.BeginForm())
{
<input type="button" name="clickButton" value="Send" />
<input type="button" name="clickButton" value="Reset" />
}
发送和重置视图只是简单的视图,里面有<p>标签。
我也有按钮类:
public class Button : ActionNameSelectorAttribute
{
public string ButtonName { get; set; }
public string ButtonValue { get; set; }
public override bool IsValidName(ControllerContext controllerContext, string actionName, System.Reflection.MethodInfo methodInfo)
{
return controllerContext.HttpContext.Request[ButtonName] != null && controllerContext.HttpContext.Request[ButtonName] == ButtonValue;
}
}
我在这里做错了什么?另外,如果您知道其他方法可以实现相同的功能不使用 jQuery,请发布一些代码 :)
【问题讨论】:
-
我建议你使用
@Html.ActionLink()-s。
标签: asp.net asp.net-mvc-4 button