ASP.NET Custom Server Control с большим количеством встроенного JavaScript и других статических файлов - PullRequest
2 голосов
/ 10 октября 2011

Я пытаюсь создать пользовательский серверный элемент управления с большим количеством 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);
}

Кроме того, было бы здорово получить доступ к файлу из веб-приложения, как показано ниже:

CustomControl/scripts/default.js

1 Ответ

0 голосов
/ 11 октября 2011

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

Конечно, вам нужно настроить приведенный выше код в соответствии с вашими требованиями,но основы должны быть такими же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...