ASP.NET MVC路由和路径是js文件

Hiv*_*cks 4 javascript url asp.net-mvc path

我们现在面临一个问题.我们有一个非常大的页面,带有一个loooong内联脚本,可以完成所有工作.我们现在想要对其进行模糊处理并将其用作单独的.js文件.但问题是我们有由Url helper(Url.Content())生成的路径.那么将js文件与页面分开而不使用硬编码路径字符串的最佳方法是什么?

Mat*_*son 9

我通常在单独的视图中编写我的javascript(只有js代码)并使用我自己的动作结果来渲染它.这样我可以利用服务器端的c#,如果需要我可以使用模型,它将作为外部js文件包含在浏览器中(具有适当的缓存).我使用的动作结果可以在这里找到:http://codepaste.net/p2s3po

更新

您可以在操作中使用此操作结果:

public ActionResult JsFile() {
    ViewData.Model = //Create model if you want one;
        return new JavascriptFileResult(true)
                   {
                       TempData = TempData,
                       ViewData = ViewData
                   };
}
Run Code Online (Sandbox Code Playgroud)

然后你只是将它视为普通视图(但只在视图中编写javascript).当然,您也可以使用任意数量的参数.

你可以这样包括它:

<script type="text/javascript" src="<%=Url.Action("JsFile", "ControllerName")%>"></script>
Run Code Online (Sandbox Code Playgroud)