我在C#中有一个扩展方法,它创建一个脚本,然后将创建的脚本放到视图中。我希望将创建的脚本放入.js文件中,然后将.js文件引用到视图中。是否有办法这样做?
C#代码:
public static HtmlString RenderScript(this IHtmlHelper htmlHelper)
{
var builder = new StringBuilder();
string script = string.Empty +
"<script type=\"text/javascript\" >" +
//do something
" </script>";
builder.AppendLine(script);
return new HtmlString(builder.ToString());
}视图:
@section Scripts{
@(Html.RenderScript())
}发布于 2019-07-21 13:58:43
是的,您可以通过将JavaScript放在一个单独的文件中来做到这一点。
public static async Task<HtmlString> RenderScriptAsync(this IHtmlHelper htmlHelper, string jsFilePath)
{
using (var reader = new StreamReader(jsFilePath))
{
var js = await reader.ReadToEndAsync();
return new HtmlString($@"<script type=""text/javascript"">{js}</script>");
}
}为了使此操作有效,您需要从Visual中的属性窗口的build action部分中选择copy if newer,从而使包含生成输出中的copy if newer部分的文件。
https://stackoverflow.com/questions/57133770
复制相似问题