C# 在MVC中包含来自程序集的javascript
有没有办法在我的MVC3视图中包含一个javascript文件,该文件是程序集的嵌入式资源 我尝试创建一个操作,从程序集获取嵌入的资源,然后返回一个FileStreamResult,如下所示C# 在MVC中包含来自程序集的javascript,c#,javascript,asp.net-mvc-3,embedded-resource,C#,Javascript,Asp.net Mvc 3,Embedded Resource,有没有办法在我的MVC3视图中包含一个javascript文件,该文件是程序集的嵌入式资源 我尝试创建一个操作,从程序集获取嵌入的资源,然后返回一个FileStreamResult,如下所示 public FileStreamResult Scripts() { System.Reflection.Assembly myassembly; myassembly = System.Reflection.Assembly.GetExecutingAssembly(); S
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>
@Html.RenderAction(“脚本”)
这似乎不太管用
我更希望能够将嵌入式资源作为链接获取,然后将其用作脚本的src值。比如:
<script src="@Html.GetEmbeddedResourceAsLink("Testing.testscript.js")"/>
有人知道怎么做吗?如果只在服务器上呈现,请尝试返回
新内容结果(jsContent)
GetWebResourceUrl在此处可能很有用:
该MSDN页面上的示例代码适用于WebForms,但我认为以下代码可能有效:
string rsname = "MyAssembly.my_script.js";
string url = ((Page)HttpContext.CurrentHandler)
.ClientScript.GetWebResourceUrl(this.GetType(), rsname);
这似乎不太管用。
为什么?你得到了什么错误?它嵌入了内联脚本,由于MIME错误,页面无法在IE中呈现。我尝试了“text/javascript”、“application/x-javascript”和“javascript”。。。这在FF4中是可以工作的,但是我希望脚本不是内联的,而是一个链接。