在asp.net mvc中内联javascript中分配路径
我使用的是MVC2架构 我有一个JavaScript文件在asp.net mvc中内联javascript中分配路径,javascript,asp.net,asp.net-mvc,asp.net-mvc-2,asp.net-mvc-routing,Javascript,Asp.net,Asp.net Mvc,Asp.net Mvc 2,Asp.net Mvc Routing,我使用的是MVC2架构 我有一个JavaScript文件(x.js)…其中包含对象hs(即var hs)的声明 在我的aspx文件中,我使用标记调用(x.js)文件,它运行正常 我正在使用hs变量,并在内联脚本中为我的aspx中的属性赋值-请在下面找到它: <script type="text/javascript"> hs.graphicsDir = '../../Resources/graphics/'; ... ... </script>
(x.js)
…其中包含对象hs
(即var hs
)的声明
在我的aspx文件中,我使用
标记调用(x.js)
文件,它运行正常
我正在使用hs
变量,并在内联脚本中为我的aspx中的属性赋值-请在下面找到它:
<script type="text/javascript">
hs.graphicsDir = '../../Resources/graphics/';
...
...
</script>
hs.graphicsDir='../../Resources/graphics/';
...
...
当我通过Firebug进行调试时,我发现这个内联脚本正在我的环境和发布中执行
问题是,在我的环境中,graphicsDir
值被认为是完美的,并相应地执行,但在发布中,路径没有被正确采用
请建议如何使其也在部署中运行。试试这个
hs.graphicsDir ="<%= Url.Content("~/Resources/graphics")%>"
hs.graphicsDir=“”
按照另一个正确答案,您可以在页面加载方法中使用这样的代码将正确的URL发送到客户端脚本:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "correct_url", "var graphDir = \"" + Url.Content("~/Resources/graphics") + "\";", true);
然后在JS文件中包含以下内容:
hs.graphicsDir = graphDir;
由于它是MVC应用程序,而不是普通的ASP.NET,因此您必须按照所述步骤添加代码-如果您希望避免这种情况,也可以直接在.aspx
文件中添加此类代码:
<script type="text/javascript">
var graphDir = "<%=Url.Content("~/Resources/graphics")%>";
</script>
var graphDir=“”;
并且在.js
文件中有与我上面解释的相同的代码。(使用全局变量)@ganesh。尝试在js文件中使用它。未测试Yet您不能在.js
文件中使用它,因为ASP.NET引擎未解析它。我将发布单独的答案,太多了,不能在这里写。他使用的是MVC2。MVC中没有页面加载方法。是吗?不知道,不熟悉MVC,但由于这个问题也被标记为ASP.NET,所以在某个地方应该有类似的东西。编辑:请参见我的编辑。:)