首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在asp.net mvc中分配内联javascript中的路径

在asp.net mvc中分配内联javascript中的路径
EN

Stack Overflow用户
提问于 2011-08-25 16:23:23
回答 2查看 394关注 0票数 0

我使用的是MVC2架构。

我有一个Javacript文件,...which有对象hs的声明(即var hs)。

在我的aspx文件中,我使用<script>标签调用(x.js)文件,它运行正常。

我在一个内联脚本中使用hs变量,并在aspx中为其属性赋值-可以在下面找到它:

代码语言:javascript
运行
复制
<script type="text/javascript">
    hs.graphicsDir = '../../Resources/graphics/';
    ...
    ...
</script>

当我通过Firebug进行调试时,我发现这个内联脚本在我的环境和发布中都在执行。

问题是,在我的环境中,graphicsDir值被认为是完美的,并相应地执行,但在发布中,路径没有被正确地采用。

请建议如何让它也在部署中运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-25 16:37:15

尝尝这个

代码语言:javascript
运行
复制
hs.graphicsDir ="<%= Url.Content("~/Resources/graphics")%>"
票数 1
EN

Stack Overflow用户

发布于 2011-08-25 17:53:06

按照另一个正确答案,您可以在Page_Load方法中使用以下代码将正确的URL发送到客户端脚本:

代码语言:javascript
运行
复制
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "correct_url", "var graphDir = \"" + Url.Content("~/Resources/graphics") + "\";", true);

然后在您的JS文件中包含以下内容:

代码语言:javascript
运行
复制
hs.graphicsDir = graphDir;

因为它是MVC应用程序,而不是普通的ASP.NET,所以你必须按照here描述的步骤来添加后台代码-如果你不想这样做,你也可以直接在.aspx文件中添加这样的代码:

代码语言:javascript
运行
复制
<script type="text/javascript">
var graphDir = "<%=Url.Content("~/Resources/graphics")%>";
</script>

并且在.js文件中具有与我上面解释的相同的代码。(使用全局变量)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7187164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档