【问题标题】:Is there an @Html.ActionLink equivilent for HttpPost?HttpPost 是否有 @Html.ActionLink 等效项?
【发布时间】:2014-10-07 07:38:41
【问题描述】:

我有一个需要添加链接的表。链接需要转到我的控制器上的 HTTPPost actionResult。我有一个巨大的列表,需要允许用户单击状态,点击控制器并随后路由到适当的页面。 @Html.ActionLink 是一个 HttpGet 动作。有帖子的等价物吗?

  <table class="table table-striped table-bordered">
        <th>Ssn</th>
        <th>State</th>
        <th>File Uploaded Date</th>
        <th>Claim Status</th>
        @foreach (var currentClaim in Model.CurrentClaims)
        {
        <tr >
            <td><span name="Ssn">@currentClaim.SSN</span></td>
            <td>@currentClaim.StateName</td>
            <td>@currentClaim.ClaimDate</td>
            <td>@Html.ActionLink(@currentClaim.ClaimStatus, "SubmitClaim", "Claim", FormMethod.Post, new ClaimInputModel { SSN = currentClaim.SSN, StateId = currentClaim.StateId })</td>

         </tr>
        }

    </table> 

我尝试过使用

 @using("SubmitClaim", "Claim", FormMethod.Post, new ClaimInputModel { SSN = currentClaim.SSN, StateId = currentClaim.StateId })
 {
      <button type="submit" >xxx</button>
 }

我收到一个 HttpCompiler 错误。

【问题讨论】:

  • 您的 using 语句格式不正确。你得到什么“HttpCompiler”错误?
  • 试试@using(Html.BeginForm(...))
  • @dotjoe 添加该评论作为答案,我会接受,谢谢

标签: asp.net-mvc-3 razor


【解决方案1】:

你需要使用BeginForm() HtmlHelper,它返回一个MvcForm,它实现了IDisposable...

@using(Html.BeginForm("SubmitClaim", "Claim", FormMethod.Post, new { SSN = currentClaim.SSN, StateId = currentClaim.StateId }))
{
     <button type="submit" >xxx</button>
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2013-09-29
    • 2021-11-04
    • 1970-01-01
    相关资源
    最近更新 更多