PDA

View Full Version : سوال: دسترسی به کنترل درون datalist



aryaman
سه شنبه 08 مرداد 1387, 18:05 عصر
من میخوام یه برنامه بنویسم که اطلاعاتی که datalist از دیتابیس میخونه اگه روی مثلا id که لینک هم هست کلیک کردی یه popup باز بشه.کد مربوط به فایل aspx


<asp:DataListID="DataList1"runat="server">
<ItemTemplate>
<asp:LinkButtonID="linkbutton1"runat="server"Text='<%# Eval("id") %>'PostBackUrl='<%# Eval("id","Default3.aspx?id={0}") %>'></asp:LinkButton>
<%#DataBinder.Eval(Container.DataItem, "title") %>
<%#DataBinder.Eval(Container.DataItem, "msg") %><br/>
</ItemTemplate>

</asp:DataList>


اینم کد مربوط به code behind


protectedvoid Page_Load(object sender, EventArgs e)
{
OpenPopUp(LinkButton1, "a.aspx");
}




publicvoid OpenPopUp(WebControl opener, string PagePath)
{
string windowAttribs;
string clientScript ;
clientScript = "window.open('" + PagePath + "','anycontent','width=600,height=300,left=200,top =200,status'); return false;";
opener.Attributes.Add("OnClick", clientScript);
}

همه جاش درسته فقط linkbutton1 رو نمیشناسه.

bbc_sh
سه شنبه 08 مرداد 1387, 18:31 عصر
شما برای اینکه بخوای به کنترل هایی که درون یک دیتالیست هست دسترسی داشته باشی باید ازfindcontrol استفاده کنی.

LinkButton lb1=(LinkButton)e.item.FindControl("LB2")که LB2 آی دی کنترلتون هست .بعد از lb1 برای کد نوشتن استفاده میکنید.

aryaman
چهارشنبه 09 مرداد 1387, 12:13 عصر
این که نوشتی مشکل داره دوست عزیز.کار نمیکنه.اصلا item متدی به نام find control نداره
بهر حال ممنون.

hassan_h
دوشنبه 25 شهریور 1387, 00:56 صبح
کسی بلد نسیت این مشکل رو من هم دارم

eliya_Ata
چهارشنبه 12 اسفند 1388, 12:27 عصر
سلام
برای دریافت پاسخ صحیح به ادرس زیر مراجعه کنید
تست زده کاملا درست کار می کنه
http://qpnu.org/forum/viewtopic.php?p=695#695