ASP.NET自定义服务器控件,包含大量嵌入式JavaScript和其他静态文件

ASP.NET Custom Server Control with lots of Embedded JavaScript and other Static Files

本文关键字:JavaScript 其他 静态 文件 嵌入式 自定义 NET 服务器控件 包含大 ASP      更新时间:2023-09-26

我正在尝试创建一个自定义服务器控件,其中嵌入了许多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中,您可以在程序集中嵌入资源,然后以编程方式检索它们,如下所示:

// 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();
        }
    }
}

你当然需要根据你的需求调整上面的代码,但是基本的应该是一样的