我有一个看起来像这样的方法
function endcall_click(leadid) {
document.location = '@Url.Action("index","dispo",new{id=leadid})/';
}
当然它不起作用,因为它将“leadid”视为服务器端变量,但我想注入(inject)传递到方法中的 javascript 变量。
我尝试将潜在客户 ID 包装起来,但没有用。
function endcall_click(leadid) {
document.location = '@Url.Action("index","dispo",new{id="<text>leadid</text>"})/';
}
有什么想法吗?
最佳答案
您不能将 javascript 变量注入(inject)到在服务器上评估的脚本中,因为在该脚本执行并生成输出的那一刻,该变量尚未存在。实现此目的的唯一方法是操作生成的字符串:
function endcall_click(leadid) {
document.location = '@Url.Action("index", "dispo")/' + leadid;
}
缺点是这假定在 javascript 中操作路由,如果您决定在服务器上更改它们,代码可能会中断。
关于javascript - 在 Razor 语法中嵌入javascript变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4332253/