2014-11-21 67 views
0

大家好,我希望快速的問題。如何在MVC剃刀視圖中將值從jQuery腳本傳遞到ActionLink

我想從一個jQuery腳本的值傳遞到HTML.ActionLink細節動作控制器

它的工作就像我在下拉列表和jQuery的選擇項,我得到該項目的ID後,我想得到該ID傳遞到ActionLink我怎麼能實現它,或者我要改變我的代碼。

<script> 
$(function() { 
     $('#reductions').change(function() { 
      var Id = $('#reductions').val(); 
      }); 
     }); 
</script> 

     <div class="form-horizontal"> 
      <div class="form-group"> 
       <div class="col-md-10"> 
@Html.DropDownList("reductions", new SelectList(dbContext.Reductions,"ReductionId", "Name") 
       </div> 
      </div> 
     </div> 
@Html.ActionLink("Details", "Details", "Reductions", new {id = ????WHAT PUT HERE?????}, new {}) 

請告訴我,我應該改變腳本區域還是在Action Link中,我可以讓我工作。 我已經學習了很多例子,但似乎沒有人爲我工作

+0

請發送渲染的動作鏈接html。 – tymeJV 2014-11-21 13:58:55

回答

0

而不是使用ActionLink方法創建一個正常的HTML鏈接,並用jQuery覆蓋href屬性。

<script> 
    $(function() { 
    var link = '@Url.Action("Details", "Details", "Reductions", new { id = "_myid_" })'; 
    $('#reductions').change(function() { 
     var id = $('#reductions').val(); 
     $('#myLink').attr('href', link.replace('_myid_', id); 
     }); 
    }); 
</script> 

... Your other html 

<a id="myLink" href="">Details</a> 
+0

我跟着你的答案,對我來說似乎最好,因爲我已經使用jQuery用於其他目的,並使用KyleT答案中斷與按鈕單擊後調用控制器操作。 感謝您的幫助。 – lolek 2014-11-22 15:15:26

+0

很高興幫助,請介意將其標記爲答案? – Shiffty 2014-11-24 11:13:53

0

而不是使用普通的HTML表單的使用:

@using(HTML.BeginForm("Details","Reductions")) 
{ 
    //Your current HTML 
} 

你應該也可以用@ HTML.DropDownListFor()輔助這樣的:

@Html.DropDownListFor("reductions", new SelectList(DBContext.Reductions, "ReductionId", "Name"), new { @class = "anyCSSClass" }) 

替換當前的@ HTML.DropDownList()這個助手。

才能完成,你必須在表格數據提交到這樣的服務器:

button type="submit" class="CSSClass" id="generatedContent"> Generate </button> 

繼承人的最終代碼:

@using(HTML.BeginForm("Details","Reductions")) 
{ 
    @Html.DropDownListFor("reductions", new SelectList(DBContext.Reductions, "ReductionId", "Name"), new { @class = "anyCSSClass" }) 

    button type="submit" class="CSSClass" id="generatedContent"> Generate </button> 
} 

你可以做到這一點使用JQuery/AJAX,但它多了很多因爲它違背了MVC的基本概念,並且保持服務器端邏輯與客戶端邏輯分離,所以它比它的價值更令人困惑。

P.S.如果我混淆了控制器/操作方法的名稱,請檢查幫助者here的超載方法。

相關問題