我们现在面临一个问题。我们有一个很大的页面,里面有一个内嵌脚本,可以完成所有的工作。我们现在想混淆它并将其用作单独的.js文件。但问题是我们有Url助手(Url.Content())生成的路径。那么将js文件从页面中分离出来而不使用硬编码路径字符串的最好方法是什么?ASP.NET MVC路由和路径是js文件
4
A
回答
0
您可以创建JavaScript函数来设置所需路径并从页面的小脚本部分调用它们。
JavaScript文件:
var resource1;
var resource2;
function setResourcesReferences(resource1, resource2, ...) {
}
ASPX文件:
<script type="text/javascript">
setResourcesReferences(<% Url.Content("Resource1") %>, <% Url.Content("Resource2") %>, ...);
</script>
8
我通常写我在不同的视图的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>
相关问题
- 1. ASP.NET MVC路由和文件路径
- 2. 文件路径为MVC路由参数
- 3. ASP.NET MVC路由aspx文件
- 4. asp.net MVC和路由
- 5. 将静态文件路由到asp.net中的新路径mvc
- 6. ASP.NET MVC路由
- 7. ASP.NET MVC路由
- 8. ASP.NET MVC路由
- 9. ASp.Net MVC路由
- 10. ASP.NET MVC路由
- 11. ASP.net MVC路由
- 12. MVC路由访问路径
- 13. 如何检查给定路径是否存在路由(ASP.NET MVC)?
- 14. ASP.NET MVC路由和结构
- 15. ASP.NET MVC - 路由和UrlHelper
- 16. ASP.NET MVC路由和区域
- 17. ASP.NET MVC和路由性能?
- 18. Favicon与ASP.net和MVC(路由)
- 19. ASP.NET MVC和AngularJS路由
- 20. AngularJS路由和ASP.net MVC
- 21. ASP.NET MVC多路径和无效路由字典值
- 22. ASP.NET MVC URL路径
- 23. ASP.NET MVC ViewModel路径
- 24. asp.net MVC浏览文件夹路径
- 25. ASP.NET MVC中的静态文件路径
- 26. asp.net的MVC文件路径问题\
- 27. ASP.NET MVC角路由
- 28. ASP.Net MVC 2路由
- 29. ASP.NET MVC路由,Html.BeginForm
- 30. ASP.NET MVC路由器
这听起来像一个很好的解决方案。但是,RegexReplace方法和JavaScriptCompressor类来自您发送的代码段?还有一个问题 - 我应该如何从我的操作中使用JavascriptFileResult? – HiveHicks 2010-06-03 08:13:18
@HiveHicks,对不起,忘了提。他们都来自Yahoo.Yui.Compressor库,你可以在这里下载:http://yuicompressor.codeplex.com/。我会更新我的答案,向您展示如何使用操作结果。 – 2010-06-03 08:37:24
太好了,谢谢!看起来像最好的解决方案。 – HiveHicks 2010-06-03 14:03:57