2011-07-19 52 views
1

我已經使用jQuery顯示記錄的信息,取決於某些用戶選擇。我需要添加一個按鈕或鏈接,將它們帶到編輯視圖,但不知道實現此目的的最佳方式。導航的ID在瀏覽數據時會發生變化。Asp.Net MVC - 通過jQuery動態改變ActionLink

我可以使用jQuery動態更改ActionLink嗎?

更多信息 用戶從列表框中進行選擇,然後通過$ .getJSON調用去獲取適當的數據。信息隨後顯示在彙總框中,並帶有編輯數據的選項。 所以取這個樣子的

$.getJSON("/Result/FetchState", { metricId: metId, calendarId: calId }, function (data) { 
       $('#Info1').val(data.ResultId); 
       $('#Info3').val(data.Headline); 
       if (data.AllowEdit) { $('#btnEdit').attr('disabled', false); } else { $('#btnEdit').attr('disabled', true); } 
       $('#editlink').val(data.ResultId); 
      }); 

我現在需要能夠導航到一個視圖(/結果/編輯/ {ID})其中{ID}是從FetchState呼叫ResultId。

+0

您可以使用jQuery來更改ActionLink生成的鏈接的href是。如果將來應用程序或視圖的路徑發生更改,這可能會有點脆弱。我的直覺是將編輯鏈接傳遞給視圖,而不是嘗試生成一個。也許你可以隱藏它,只需使用jQuery來顯示它。 –

+0

更多的細節(和一些代碼)會幫助你給出更好的答案。 –

+0

是的,我不喜歡直接修改href的想法。我真正需要做的是在網址中注入一個Id。 – Rikalous

回答

1

您可以使用<form>包含隱藏字段和提交按鈕。當用戶提交按鈕,這將重定向到一起的隱藏字段的值傳遞新的動作

$('#SomeHiddenField').val('some new value'); 

然後:當用戶進行一些選擇,你會隱藏字段的值設置爲這個新的選擇。