【问题标题】:Create JavaScript code from C# method to JavaScript file从 C# 方法创建 JavaScript 代码到 JavaScript 文件
【发布时间】:2019-11-29 16:57:15
【问题描述】:

我在 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())
}

【问题讨论】:

    标签: javascript c# asp.net-core razor


    【解决方案1】:

    是的,您可以通过将 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 Studio 的属性窗口的构建操作部分中选择 copy if newer 来使包含构建输出的 JavaScript 部分的文件。

    【讨论】:

    • 很高兴我能帮上忙。另外,如果您想将文件内容直接注入您的 dll 中,请查看 Embedded Resources
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    相关资源
    最近更新 更多