Datalist放在usercontrol中

时间:2009-02-24 15:10:43

标签: asp.net events user-controls

我有一个usercontrol.Inside usercontrol我有一个datalist而sqldatasource.Sqldatasource需要一个参数来数据绑定datalist.Usercontrol通过这种方式得到一个参数,

  private string _urunIDparam;
    public string urunIDparam
    {
        get { return _urunIDparam; }
        set {_urunIDparam = value; }
    }

然后通过这种方式将此参数添加到usercontrol的onprerender中的sqldatasource中,

protected override void OnPreRender(EventArgs e)
{
    SqlDataSourceHareketler.SelectParameters["urunID"].DefaultValue = urunIDparam;
    DataListHareketAna.DataBind();
    base.OnPreRender(e);
}

usercontrols参数是从asx页面放置的按钮给出的,

protected void Button1_Click(object sender, EventArgs e)
{
    MyUserControl1.urunIDPARAM = urunID;
}

按钮和usercontrol放在这样的aspx页面的更新面板中,

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <uc2:MyUserControl ID="MyUserControl1" runat="server" /> 
         <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
    </ContentTemplate>
</asp:UpdatePanel>

当我点击datalist中的按钮时,我的usercontrol消失了(datalist丢失了它的项目)。

1 个答案:

答案 0 :(得分:1)

听起来您可能需要对控件内的功能进行回发检查。我以前看过这个问题,我认为这就是我必须做的事情,但已经有一段时间了。

if (!IsPostback) {
  //LoadData
}