代码之家  ›  专栏  ›  技术社区  ›  Michael

如何制作razor make POST创建的动作链接?

  •  0
  • Michael  · 技术社区  · 7 年前

    我在我的项目中使用MVC5。

    我使用razor创建动作链接,razor通过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-to-action方法发送数据?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Habeeb    7 年前

    您使用的是一个HTML锚定链接,它总是从浏览器执行GET操作。

    如果你的要求是发帖,你可以使用以下方法之一:

    1.阿贾克斯邮报

    @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>
    }