【问题标题】:Can't render child control which contains repeat items?无法呈现包含重复项的子控件?
【发布时间】:2017-08-15 01:54:03
【问题描述】:

我是网络表单的新手。我想在 web 表单页面中呈现“UserControl1”。然后在“UserControl1”中,我为其子用户控件(“UserControl2”)分配了一个列表,其中有一个“asp:Repeater”模板。除“asp:Repeater”外,“UserControl2”中的 DOM 已呈现。

网络表单页面:

protected override void OnPreRender(EventArgs e)
    {
        var control1 = (WebUserControl1)Page.LoadControl("~/WebUserControl1.ascx");
        HtmlTextWriter htmlwriter = new HtmlTextWriter(new StringWriter());
        control1.ControlRender();
        control1.RenderControl(htmlwriter);
        string html = htmlwriter.InnerWriter.ToString();
        base.OnPreRender(e);
    }

UseContrl1:

public void ControlRender()
    {
        OnPreRender(null);
    }

protected override void OnPreRender(EventArgs e)
    {
        List<string> list=new List<string> {"1", "2", "3"};
        usecontrol2.Products = list;
    }

提前致谢。

【问题讨论】:

    标签: c# asp.net .net webforms


    【解决方案1】:

    我发现“UserControl2”中的“onPreRender”方法没有触发,因为我不想更改 AutoEventWireup 值,所以我通过在“UserControl2”中添加公共方法来手动调用“OnPreRender”来解决它。喜欢:

    public void ControlRender()
    {
        OnPreRender(null);
    }
    

    欢迎提出任何建议和意见。

    【讨论】:

      猜你喜欢
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 2014-09-09
      • 2011-07-29
      • 2020-08-25
      • 2011-04-20
      相关资源
      最近更新 更多