javascript - 带有大量嵌入式 JavaScript 和其他静态文件的 ASP.NET 自定义服务器控件

标签 javascript .net asp.net custom-server-controls

我正在尝试创建一个自定义服务器控件,其中嵌入了大量 JavaScript 和其他静态文件。

我的问题是如何轻松地捆绑和注册它们。我有如下方法,但我认为逐个注册每个 javascript 文件不是个好主意。

这是我放在 AssemblyInfo.cs 文件中的代码:

[assembly: WebResource("CustomControl.Scripts.Default.js", "text/javascript")]

下面的代码是我的自定义控件注册.js:

protected override void OnPreRender(EventArgs e) {

    base.OnPreRender(e);
    string resourceName = "CustomControl.Scripts.Default.js";

    ClientScriptManager cs = this.Page.ClientScript;
    cs.RegisterClientScriptResource(typeof(CustomControl.MyControl), resourceName);
}

此外,如果能像下面这样从 Web 应用程序中获取文件,那就太好了:

CustomControl/scripts/default.js

最佳答案

在 Visual Studio 中,您可以 embed resources in the assembly然后像这样以编程方式检索它们:

// TODO: Get the correct assembly, this is just an example.
var assembly = GetType().Assembly;
var resourceNames = assembly.GetManifestResourceNames();

foreach (var resourceName in resourceNames)
{
    using (var stream = assembly.GetManifestResourceStream(resourceName))
    {
        using (var reader = new StreamReader(stream))
        {
            // This will contain the contents of the embedded resource
            string resource = reader.ReadToEnd();
        }
    }
}

您当然需要根据您的要求调整上述代码,但基本原理应该是相同的。

关于javascript - 带有大量嵌入式 JavaScript 和其他静态文件的 ASP.NET 自定义服务器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717283/

相关文章:

c# - DropDownList 不接受我尝试分配的 SelectedIndex

javascript - SelectedIndexChanged 事件未使用 JavaScript 中的 OnChange 方法触发

c# - WebRequest.GetResponse() 抛出错误 401 : Unauthorized

asp.net - 在具有用户存储的 Web 场环境中使用 DPAPI/ProtectedData

javascript - 如何更新购物车中的订单数量(增量和减量)?

c# - 将 C 结构编码到 C#

javascript - 如何使用 requirejs 导入 strophe?

c# - 要列出的数据表 - AutoMapperException 或值未映射

javascript - 使用 firebase 版本 3.0.2 推送数据。 ..错误是( promise )错误: PERMISSION_DENIED: Permission denied(…)

php - HTML5 Websocket 向服务器发送同步数据