@ Ajax.ActionLink使用GET而不是POST
我真的很沮丧,即使经过数小时的研究,我也无法弄清楚这个简单的问题:
@Ajax.ActionLink("Test", "Test", new AjaxOptions { HttpMethod = "Post" }) Test
它尽可能简单,但即使我指定了POST,它也会向/ Home / Test发出GET请求。
在_Layout.cshtml里面我有
@RenderBody() @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryval") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false)
包jquery val包括
jquery.validate.js jquery.validate.unobtrusive.js
通常,当您要提交数据时,请使用表单和提交按钮。 在我看来,在动作链接上使用POST
方法并不是一个好主意。
尝试使用@Ajax.BeginForm(...){}
。
在执行此操作之前,请确保已在web.config中启用
。 检查完毕后,打开Web应用程序并查看源代码,确保包含以下文件:
还要确保您的浏览器启用了Javascript。
如果这些都不能解决您的问题,请尝试将URL添加到选项中:
@Ajax.ActionLink("Test", "Test", new AjaxOptions { HttpMethod = "Post", Url = Url.Action("Test") })
对于用户已禁用Javascript的情况,这是一个回退,要么您错过了对jquery.unobtrusive-ajax.js
的引用。