Когда использовать строку запроса в веб-части? - PullRequest
3 голосов
/ 29 марта 2011

Привет В настоящее время я разрабатываю веб-часть, в которой я читаю переменную Querystring, однако, когда я пытаюсь прочитать ее в методе CreateChildControls (поскольку некоторые элементы управления создаются в зависимости от этой переменной), она имеет нулевое значение. Если я читаю это в постбэке, он отлично работает.

Есть ли способ создать элементы управления в зависимости от переменной строки запроса?

Заранее спасибо

1 Ответ

4 голосов
/ 22 марта 2012

Вы можете объявить свой элемент управления вне метода CreateChildControls и переопределить метод рендеринга для его экземпляра.

private Label label;
protected override void Render(HtmlTextWriter writer)
{        
     if (Page.Request.QueryString["PageView"] != null)
     {
         label = new Label();
         label.Text = Page.Request.QueryString["PageView"];
         this.Controls.Add(label);
     }   
     base.Render(writer);
}

РЕДАКТИРОВАТЬ: я сделал еще несколько тестов и заставил его работать с этим кодом

    protected override void CreateChildControls()
    {
        Controls.Add(new LiteralControl(Page.Request.QueryString["PageView"]));
    }

Странно, что я не могу больше воспроизвести вашу проблему.

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