【问题标题】:ASP.NET Custom Server Control with lots of Embedded JavaScript and other Static Files带有大量嵌入式 JavaScript 和其他静态文件的 ASP.NET 自定义服务器控件
【发布时间】:2011-10-10 18:54:49
【问题描述】:

我正在尝试创建一个自定义服务器控件,其中包含大量 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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多