Asp.net-Mvc

剃刀 ActionLink 中的 Javascript 變數

  • September 5, 2014
var boxIdValue = 233;
var result = title + '<br/>@Html.ActionLink("Detail", "Show", "Boxes", new{boxId=233}, null)';

當我硬編碼boxId然後它工作。但是當我寫:

var result = title + '<br/>@Html.ActionLink("Detail", "Show", "Boxes", new{boxId=boxIdValue}, null)';

它沒有。是否可以以這種方式混合javascript var和razor?

看看這個相關的 Stack Overflow問題。

這是一個挑戰的原因是 Razor 方法在呈現時在 Web 伺服器上執行,而 javascript 在執行時在客戶端瀏覽器上執行。

我會通過做類似的事情來解決這個問題

var boxIdValue = 233;
var link = '@Html.ActionLink("Detail", "Show", "Boxes", new{boxId=-1}, null)'
link = link.replace('-1', boxIdValue);
var result = title + '<br />' + link;

引用自:https://stackoverflow.com/questions/9751109