2009-02-24 4 views
0

У меня есть usercontrol.Inside UserControl У меня есть DataList и sqldatasource.Sqldatasource нужен параметр, привязка datalist.Usercontrol получает параметр, таким образом,DataList помещается внутри UserControl

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

И затем этот параметр добавляется к SqlDataSource в OnPreRender из UserControl по этому пути,

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

А параметр элементы управления UserControl задается с помощью кнопки, которая расположена ASPX страницы, как это,

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

И кнопка и UserControl помещается в 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, мой UserControl исчезает (DataList теряет свои элементы).

ответ

1

Похоже, вам, возможно, потребуется выполнить обратную проверку ваших функций внутри элементов управления. Я видел этот точный вопрос раньше, и я думаю, что это то, что я должен был сделать, но прошло некоторое время.

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

спасибо за ваш ключ, но я уже попробовал ispostback, но проблема продолжается. – slayer35

Смежные вопросы