2017-07-17 28 views
0

我需要做類似如下─如何將JavaScript函數的返回值作爲asp路由值傳遞?

function GetParentID() { 
    var tv = $('#treeview').data('kendoTreeView'), 
    selected = tv.select(), 
    item = tv.dataItem(selected); 
    var Value= (item.ID); 
    return Value; 
} 

然後我想使用返回值像這 -

<a asp-area="Marketing" asp-controller="Store" asp-action="Create" asp-route-ID="GetParentID()" class="btn btn-default">Create</a> 

我試圖挽救像這樣隱藏輸入值:

<input id="p_ID" type="hidden" /> 

則填補了這一輸入扔jQuery和是這樣的工作:

$('#p_ID').val(GetParentID()); 

但仍然不能通過這個值作爲ASP路由ID我怎麼能實現這樣的事情?

回答

3

主要ASP-路線-ID =「321545」標籤助手是服務器端的幫手,而不是客戶端

所以,你不能在服務器端使用客戶端腳本像

的JavaScript:只處理HTML和CSS(客戶端)

C#+剃刀+ TagHelpers:在服務器端(在服務器上執行)

所以,其中一個方法是使用鏈接發送請求到服務器和分配值在服務器端 OR 是看鏈接是如何在客戶端上產生的: /MyWeb即可/ MyPageIndex/123545

如果我們能說的123545是ASP-路線-ID,那麼你需要: 通話鏈路,並更改123545在客戶 例子:

<a id="stest" href="/MyWeb/MyPageIndex/123545" /> 
$("#stest").attr("href", "/MyWeb/MyPageIndex/" + GetParentID()); 

你可以在這裏閱讀: http://www.davepaquette.com/archive/2015/06/01/mvc-6-anchor-tag-helper.aspx

相關問題