gpt4 book ai didi

javascript - 在 ASP.NET MVC 2 标签中嵌入 javascript 变量

转载 作者:行者123 更新时间:2023-11-30 13:36:13 25 4
gpt4 key购买 nike

我在 MVC View 中有一个 Javascript 语句,看起来像这样并且有效:

win.attachURL('<%: Url.Action("GraphDetails", "Dashboard", new { area = "Anglian", OSName = "Hello" }) %>');

当我尝试提取变量“Hello”并将其放入 javascript 变量 (id) 并随后将其嵌入到我的标签中时,它会中断:

var id = "Hello";
win.attachURL('<%: Url.Action("GraphDetails", "Dashboard", new { area = "Anglian", OSName = "' + id + '" }) %>');

问题是,我如何在 ASP 服务器标签中嵌入一个 JS 变量,它本身已经嵌入在 Javascript 中?这是针对本地原型(prototype)的,安全问题不是问题。

谢谢,

汤姆。

最佳答案

一个是服务端,一个是客户端,不能混用。

当您在服务器端使用 id 作为变量执行此操作时,它将中断,因为 id 在服务器端上下文中不存在。

你为什么不尝试在客户端分解语句?

var id = "Hello";
var actionInit = "<%: Url.Action("GraphDetails", "Dashboard", new { area = "Anglian"}) %>";
win.attachURL(actionInit + "?OSName=" + id");

注意:在附加 ?OSName 时,如果您的路由未 100% 正确映射,这可能会导致一些问题。例如。你得到 /Dashboard/GraphDetails?area="Anglian" 然后你追加另一个“?”那将是一个无效的 URL。另一方面,如果您的路由 100% 匹配并且您附加 "&OSName",它也将无效。 所以先检查一下

关于javascript - 在 ASP.NET MVC 2 标签中嵌入 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com