Невозможно изменить коллекцию элементов управления - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь добавить ссылку на страницу веб-формы из пользовательского элемента управления.Файл CSS содержит стили, используемые элементом управления.При попытке получить следующее исключение:

Коллекция элементов управления не может быть изменена во время фазы DataBind, Init, Load, PreRender или Unload

Итак, когда можно что-либобыть добавленным в коллекцию элементов управления?Мне кажется, сообщение об исключении говорит о том, что все варианты не обсуждаются.Вот код:

public partial class AddNoteDlg : UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        RegisterFiles();
    }


    private void RegisterFiles()
    {
        Page.ClientScript.RegisterClientScriptInclude(GetType(), "addNoteDlgComponent-1.0.0.js", ResolveUrl("~/Shared/scripts/js/addNoteDlgComponent-1.0.0.js"));

        var css = new HtmlLink();
        css.Href = ResolveUrl("~/Shared/css/addNoteDlg-0.0.1.css");
        css.Attributes["rel"] = "stylesheet";
        css.Attributes["type"] = "text/css";
        css.Attributes["media"] = "all";

        Page.Controls.Add(css);
    }
}

1 Ответ

0 голосов
/ 04 апреля 2019

Вместо этого, вставьте тег ссылки в разметку пользовательского элемента управления, так как практически никакой разницы нет.

(Первоначально мотивировалось сделать это программно, поэтому я мог добавить его в заголовок с помощью Page.Header.Controls.Add(css), что позволило мне сохранить все ссылки CSS в заголовке.)

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