[英]ASP.NET MVC routing and paths is js files
我们现在面临一个问题。 我们有一个非常大的页面,带有一个loooong内联脚本,可以完成所有工作。 我们现在想要对其进行模糊处理并将其用作单独的.js文件。 但问题是我们有由Url helper(Url.Content())生成的路径。 那么将js文件与页面分开而不使用硬编码路径字符串的最佳方法是什么?
我通常在单独的视图中编写我的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
};
}
然后你只是将它视为普通视图(但只在视图中编写javascript)。 当然,您也可以使用任意数量的参数。
你可以这样包括它:
<script type="text/javascript" src="<%=Url.Action("JsFile", "ControllerName")%>"></script>
您可以创建javascript函数来设置所需的路径,并从页面的小脚本部分调用它们。
Javascript文件:
var resource1;
var resource2;
function setResourcesReferences(resource1, resource2, ...) {
}
ASPX文件:
<script type="text/javascript">
setResourcesReferences(<% Url.Content("Resource1") %>, <% Url.Content("Resource2") %>, ...);
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.