Datalist中放置一个usercontrol

问题描述:

我有一个usercontrol.Inside用户控件我有一个DataList和sqldatasource.Sqldatasource需要的参数数据绑定的datalist.Usercontrol通过这种方式得到的参数内,Datalist中放置一个usercontrol

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

,然后将此参数被添加到通过这种方式用户控件的的OnPreRender在SqlDataSource,

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

而且用户控件参数从被置于这样aspx页面的按钮给出

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

而且按钮,用户控件放置在一个UpdatePanel这样一个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控件按钮的问题,我的用户消失(DataList控件失去它的项目)。

这听起来像你可能需要对控件中的函数进行回发检查。我之前已经看到了这个确切的问题,我认为这是我必须做的,但它已经有一段时间了。

if (!IsPostback) { 
    //LoadData 
} 
+0

感谢您的线索,但我已经尝试ispostback,但问题仍在继续。 – slayer35 2009-02-25 02:57:27