ViewState на элементе управления внутри заголовка страницы - PullRequest
0 голосов
/ 22 сентября 2011

Я добавляю свои js-файлы в заголовок кода со следующим кодом:

protected void Page_PreRender(object sender, EventArgs e)
{
        if (!IsPostBack)
        {
            HtmlGenericControl js = new HtmlGenericControl("script");
            js.Attributes["type"] = "text/javascript";
            js.Attributes["src"] = "/js/jquery.js";
            js.ID = "jquery";
            js.EnableViewState = true;
            Page.Header.Controls.Add(js);
        }
}

это хорошо работает при загрузке страницы, но я теряю js при обратных передачах, я ожидал, что мой контроль сохранитсяс включенным ViewState в HtmlGenericControl ...

любой способ сохранить ViewState в заголовке или мне нужно удалить условие if (!IsPostBack), чтобы каждый раз добавлять js?

1 Ответ

1 голос
/ 22 сентября 2011

ваш элемент управления добавляется динамически, и только когда !IsPostBack, ViewState может сохранять значения и статус, но элемент управления должен существовать сам по себе на странице.

В вашем случае после поста назад элемент управления не будет добавлен, поэтому, даже если ViewState содержал свой статус, нет элемента управления для прикрепления этого статуса.

...