何时在webpart中使用查询字符串?

时间:2011-03-29 14:44:53

标签: sharepoint sharepoint-2007

您好 我正在开发一个webpart,我在其中读取了一个Querystring变量,但是当我尝试在CreateChildControls方法中读取它时(因为某些控件是根据这个变量创建的)它有一个空值。 如果我在回发中阅读它,它可以正常工作。

有没有办法根据查询字符串变量创建控件?

提前致谢

1 个答案:

答案 0 :(得分:4)

您可以在CreateChildControls方法之外声明您的控件,并覆盖render方法以实例化它。

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"]));
    }

关于它的奇怪之处在于我突然无法重现你的问题。