2012-11-05 49 views
0

我有一張表,我需要添加鏈接。鏈接需要轉到我的控制器上的HTTPPost actionResult。我有一個巨大的列表,用戶需要被允許點擊狀態,點擊控制器,然後路由到適當的頁面。 @ Html.ActionLink是一個HttpGet動作。是否有相當於一個職位?HttpPost有一個@ Html.ActionLink equivilent嗎?

<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錯誤。

+0

你使用的語句沒有很好地形成。你會得到什麼「HttpCompiler」錯誤? –

+2

嘗試'@using(Html.BeginForm(...))' – dotjoe

+0

@dotjoe添加該評論作爲答案,我會接受它謝謝 – Robert

回答

1

您需要使用BeginForm()的HtmlHelper返回一個MvcForm它實現IDisposable ...

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