何时在 Web 部件中使用查询字符串?

发布于 2024-10-28 10:35:29 字数 174 浏览 1 评论 0原文

你好 我目前正在开发一个 web 部件,在其中读取 Querystring 变量,但是当我尝试在 CreateChildControls 方法中读取它时(因为某些控件是根据此变量创建的),它具有 null 值。 如果我在回发中阅读它,它就可以正常工作。

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

提前致谢

Hi
I am currently developing a webpart in which I read a Querystring variable, however when I try to read it in the CreateChildControls method (because some of the controls are created depending on this variable) it has a null value.
If i read it in a postback, it works fine.

Is there a way to create the controls depending on a querystring variable?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沩ん囻菔务 2024-11-04 10:35:29

您可以在 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"]));
    }

奇怪的是,突然间我无法再重现你的问题了。

You could declare your control outside the CreateChildControls method and override the render method to instance it.

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

EDIT: I made some more tests and got it working with this code

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

The strange thing about it is that all of a sudden I can't reproduce your problem anymore.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文