您好 我正在开发一个webpart,我在其中读取了一个Querystring变量,但是当我尝试在CreateChildControls方法中读取它时(因为某些控件是根据这个变量创建的)它有一个空值。 如果我在回发中阅读它,它可以正常工作。
有没有办法根据查询字符串变量创建控件?
提前致谢
答案 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"]));
}
关于它的奇怪之处在于我突然无法重现你的问题。