如何拨打下面的第二个操作Index
public ActionResult Index()
{
}
[HttpPost]
public ActionResult Index(FormCollection collection, string nextButton)
{
}
来自ActionLink
的?我正在尝试下面的代码但没有成功:
@Html.ActionLink("Buy Now", "Index", "Store", new {edition = "std", nextButton = ""}, new Dictionary<string, object> {{ "class", "button medium light" }})
感谢。
答案 0 :(得分:1)
默认情况下,ActionLink会生成锚链接,因此在单击时会对端点执行GET请求。
您可以使用jquery使用ajax异步执行操作端点的帖子。
$.ajax({
url: 'http://endpoint.com',
type: 'POST',
data: $('#form').serialize() //Add some post data however you want.
});
或者您可以使用表单发布端点。如果使用表单,还应使用[ValidateAntiForgeryToken]
装饰端点。如果使用jquery发布方式,您仍然可以将AntiForgery隐藏字段添加为帖子上的标题,并通过检查自定义过滤器中的标题进行验证。
@using Html.BeginForm() {
@Html.AntiForgeryToken()
//Add some inputs to represent your model
<button type="submit">Save</button>
}