我在项目中使用了mvc 5。
我使用剃刀创建动作链接,该剃刀通过GET mthod将一些数据发送到动作方法。
这是动作链接:
<tbody>
@foreach (var item in Model)
{
<tr><td>@Html.ActionLink(item.Name, "About", "Home", item, new { @class = "btn btn-featured btn-white height-30 width-100" })</td></tr>
}
</tbody>
我的问题是如何更改上面创建的操作链接,以使其通过POST发送数据到操作方法?
答案 0 :(得分:0)
您正在使用HTML锚链接,该链接始终从浏览器执行GET操作。
如果您需要发表信息,则可以使用以下方法之一:
1。 Ajax Post
@Ajax.ActionLink("About", "Home", new { id = "myForm", @class = "btn btn-featured btn-white" }, new AjaxOptions { HttpMethod = "POST" })
要使用@Ajax,您需要从以下位置添加nuget引用: https://www.nuget.org/packages/Microsoft.jQuery.Unobtrusive.Ajax/
这会将新脚本添加到您的项目(jquery.unobtrusive-ajax.min.js)
否则,它将继续使用GET作为您的方法。
2。表单提交帖子
@using (Html.BeginForm("About", "Home", FormMethod.Post, new { id = "myForm", @class = "btn btn-featured btn-white" }))
{
<a href="javascript:document.getElementById('myForm').submit()">
<span>Submit</span>
</a>
}