2015-09-05 30 views
0

比方說,我有一個表格列出了一些物品:如何在一個表單提交按鈕以不同的動作

@using (Html.BeginForm("Index", "SagePayServerInframe", FormMethod.Post)) 
{ 
    if (Model.Tokens.Any()) 
    { 
     <h2>Select an existing card</h2> 
     for (int i = 0; i < Model.Tokens.Count; i++) 
     { 
      <div class="sagepay-wrapper"> 
       <div><span>Card Type:</span> @Model.Tokens[i].CardType</div> 
       <div><span>Last 4 Digits:</span> @Model.Tokens[i].Last4Digits</div> 
       <div><span>Expiry Date:</span> @Model.Tokens[i].ExpiryDate</div> 
       <div> 
        @Html.RadioButtonFor(m => m.SelectedTokenId, Model.Tokens[i].Id, new { @id = "SelectedTokenId" + i }) 
        <label for="[email protected](i)">SELECT</label> 
       </div> 
      </div>    

     } 
    } 
    <input type="submit" value="Continue" class="uppercase"/> 
} 

現在,我想提出一個刪除按鈕對每個條目爲好。我似乎無法在現有表單中使用其他表單(當我嘗試新的Html.BeginForm時,它不會顯示在頁面上)。

我該怎麼做到這一點?理想情況下,我希望能夠回覆到DeleteToken操作。我感覺我錯過了一些簡單的東西,但不知道它是什麼。

+1

的時候可以有多種形式,他們只是不能嵌套。你可以在第一個表單之後有第二個循環 - 「foreach(Model.Tokens中的var標記){@using(Html.BeginForm(.... new {id = Model.Tokens [i] .Id})){<輸入類型=「提交」../>) –

+1

另一個選擇是使用ajax發佈到刪除操作(優點是用戶停留在同一頁面並可以繼續刪除其他) –

+0

Hm,AJAX調用可能是這種情況下最好的一個。 – webnoob

回答

0

使用一個jQuery破解等(代碼沒有測試,可以具有語法錯誤,遺憾爲該)

當按下按鈕1,訪問形式對象和重置表單網址。

$("#button1").click(form(){ 
    $(this).form.URL = "../Controller1/Action1"; 
}); 

和BUTTON2點擊

$("#button2").click(form(){ 
    $(this).form.URL = "../Controller2/Action2"; 
}); 
相關問題