有什么方法可以在我的 MVC 3 View 中包含作为程序集嵌入资源的 javascript 文件吗?
我尝试创建一个 Action,从程序集中获取嵌入资源,然后返回 FileStreamResult,如下所示...
public FileStreamResult Scripts()
{
System.Reflection.Assembly myassembly;
myassembly = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream file =
myassembly.GetManifestResourceStream("Testing.testscript.js");
return File(file, "application/x-javascript");
}
然后在我的主视图中:
<script type="text/javascript">
@Html.RenderAction("Scripts")
</script>
这似乎不太管用。
我宁愿能够以链接形式获取嵌入式资源,然后将其用作脚本的 src 值。所以类似:
<script src="@Html.GetEmbeddedResourceAsLink("Testing.testscript.js")"/>
有人知道怎么做吗?
最佳答案
GetWebResourceUrl 在这里可能有用:http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.getwebresourceurl.aspx
该 MSDN 页面上的示例代码适用于 WebForms,但我认为以下内容可能有效:
string rsname = "MyAssembly.my_script.js";
string url = ((Page)HttpContext.CurrentHandler)
.ClientScript.GetWebResourceUrl(this.GetType(), rsname);
关于c# - 在 MVC 中包含来自程序集的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746700/