在MVC中包含assembly中的javascript
本文关键字:中的 javascript assembly 包含 MVC | 更新日期: 2023-09-27 17:50:42
是否有任何方法,我可以包括一个javascript文件,是在我的视图MVC 3汇编的嵌入式资源?
我试图创建一个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);
如果只在服务器上呈现,请尝试返回new ContentResult(jsContent)
。