PDA

View Full Version : رویداد onclick در یک ImageButton از نوع itemtemplate کار نمیکنه؟



elham1611
شنبه 25 شهریور 1391, 00:04 صبح
با سلام

<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ImageUrl="find.png" runat="server" OnClick= 'NewWindow(this.href,'mywin','650','400','yes','ce nter')' />
</ItemTemplate>
</asp:TemplateField>
چرا در کد بالا رویداد onclick که در جاهای دیگه صفحع درست کار میکنه در این ImageButton که از نوع itemtemplate هم هستش کار نمیکنه و خطاری زیر رو میده



Compiler Error Message: CS1012: Too many characters in character literal

mdt414
شنبه 25 شهریور 1391, 00:08 صبح
سلام
این کد رو امتحان کنید:


<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ImageUrl="find.png" runat="server" OnClick= 'NewWindow(this.href,"mywin","650","400","yes","ce nter")' />
</ItemTemplate>
</asp:TemplateField>

mdt414
شنبه 25 شهریور 1391, 00:10 صبح
در ضمن اگر تابعی که دارید فراخوانی می کنید از نوع جاوا اسکریپت هست باید از رویداد OnClientClick استفاده کنید.

elham1611
شنبه 25 شهریور 1391, 00:19 صبح
درست میگید onclientclick باید میبود

شما میدونید در کد زیر به جای ****** چی باید نوشت تا کلید سطری که روش کلیک شده رو گرفت

<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ImageUrl="../pic/find.png" runat="server" OnClientClick= "TINY.box.show({iframe:'d2.aspx?qs=*******',boxid:' frameless',width:610, height:450,fixed:false,maskid:'bluemask',maskopaci ty:40,});return false" />
</ItemTemplate>
</asp:TemplateField>

mdt414
شنبه 25 شهریور 1391, 00:33 صبح
<%# Eval("ID") %>

elham1611
شنبه 25 شهریور 1391, 00:48 صبح
ممنون
این رو امتحان کرده بودم خطای

The server tag is not well formed.
رو میده
یعنی فقط eval رم میشه در نوع hyperlink استفاده کرد؟

<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ImageUrl="find.png" runat="server" OnClientClick= "TINY.box.show({iframe:'d2.aspx?qs=<%# Eval("ID") %>, boxid:'frameless',width:610, height:450,fixed:false,maskid:'bluemask',maskopaci ty:40,});return false" />
</ItemTemplate>
</asp:TemplateField>

mdt414
شنبه 25 شهریور 1391, 00:51 صبح
برای گرفتن مقدار کلید سطر باید از Eval استفاده کنی. ولی فکر کنم شما یابد ID رو با اسم کلید سطر عوض کنی تا درست بشه

elham1611
شنبه 25 شهریور 1391, 01:08 صبح
مرسی . اینکار رو کردم . فکر کنم واقعا نمیشه در onclientclick از eval استفاده کرد

mdt414
شنبه 25 شهریور 1391, 10:52 صبح
شاید بتونید از String.Format استفاده کنید و از اونجا Eval رو فراخوانی کنید. ولی می تونید از طریق کد هم این کار رو انجام بدید.