2016-11-10 135 views
-1

在我的View中使用underscore.js,我試圖將變量serialNumberId傳遞迴我的視圖。以下是我的嘗試:如何將一個值從underscore.js傳遞給MVC控制器?

<a href="@Url.Action("process", "wip", new { id = <%= serialNumberId %> })"> 
    Text 
</a> 

...但它不喜歡那樣。紅色的波浪。

然後我嘗試:

<a href="@Url.Action("process", "wip")/<%= serialNumberId %>"> 
    Text 
</a> 

...但隨後的代碼,甚至從未達到控制器我process操作方法。

一切工作正常,如果我硬編碼serialNumberId值是這樣的:

<a href="@Url.Action("process", "wip", new { id = 10 })"> 
    Text 
</a> 

或像這樣:

<a href="@Url.Action("process", "wip")/10"> 
    Text 
</a> 

那麼,如何做到這一點,但我serialNumberId變量,而不是?

編輯:這裏就是serialNumberId從(一個數據表功能,它的一部分)來驗證碼:

... 
columns: [ 
    { 
     data: 'serialNumberId', searchable: false, orderable: false, 
     render: function (data, type, row, meta) { 
      var structure = _.template($('#tmpl-actions').html()), 
       html = structure({ serialNumberId: data }); 

      return html; 
     } 
    }, 

編輯2:好了,以後多一些玩耍,我不知道認爲這是一個下劃線問題。這是一個數據表問題。由於某種原因,上面的serialNumberId: data是空的。當我遍歷ASP.Net時,它被填充了一個int,但是在它通過DataTables時它是空的。

+0

這是哪裏的代碼結合您的JavaScript代碼? –

+0

第二次嘗試的實際輸出是多少?結果請求的URL是什麼? – David

+0

我添加了serialNumberId來自的代碼 –

回答

0

如果serialNumberId是jQuery變量,則不能在剃刀語法中使用它。 但如果你想使用它創建網址,你可以做到這一點`

<script>    
    $("a").click(function(){ 
     var url='@Url.Action("process","wip")'+serialNumberId; 
     window.location.href=url; 
    }); 
</script> 
+0

它不是一個jQuery變量,它來自我剛剛包含在原始文章底部的一些DataTables代碼 –

相關問題