Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET自定义服务器控件,包含大量嵌入式JavaScript和其他静态文件_Javascript_.net_Asp.net_Custom Server Controls - Fatal编程技术网

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

ASP.NET自定义服务器控件,包含大量嵌入式JavaScript和其他静态文件,javascript,.net,asp.net,custom-server-controls,Javascript,.net,Asp.net,Custom Server Controls,我正在尝试创建一个自定义服务器控件,其中嵌入了大量JavaScript和其他静态文件 我的问题是如何轻松地捆绑和注册它们。我有一个如下的方法,但我不认为逐个注册每个javascript文件是个好主意 这是我放在AssemblyInfo.cs文件中的代码: 以下代码用于我的自定义控件注册.js: protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); string resourceName =

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

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

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

以下代码用于我的自定义控件注册.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();
        }
    }
}
当然,您需要根据自己的需求调整上述代码,但基本要求应该是相同的。

在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();
        }
    }
}
当然,您需要根据自己的需求调整上述代码,但基础应该是相同的