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?
答案 0 :(得分:22)
查看this related 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;