PDA

View Full Version : باز شدن فرم در صفحه جدید با کلیک روی image button یا linkbutton



hamednazarzadeh
سه شنبه 24 شهریور 1394, 13:10 عصر
سلام
دوستان من یک دیتالیست تمپلیت دارم که در اون از image button و link button استفاده کردم . الان میخوام با کلیک راست روی اینها گزینه open in new tab داشته باشن ولی ندارن.
میشه کاری کرد که اضافه بشه؟

mbasirati
سه شنبه 24 شهریور 1394, 15:56 عصر
سلام
خب کدتون رو بذارید تا بهتر بشه کمک کرد.
چرا از تگ a استفاده نمیکنید. اگه قراره این باتن ها یه آدرس خاصی رو باز کنند به جای اینها از لینک اچ تی ام ال استفاده کنید.

hamednazarzadeh
چهارشنبه 25 شهریور 1394, 10:51 صبح
ممنون از پاسختون . کد دیتالیست :

<asp:DataList ID="DataList3" runat="server" BackColor="White" BorderWidth="0px"
CellPadding="4" DataKeyField="ID" DataSourceID="SqlDataSource1"
ForeColor="Black" HorizontalAlign="Center"
onitemcommand="DataList3_ItemCommand" RepeatColumns="3" Width="785px" RepeatDirection="Horizontal">
<FooterStyle BackColor="#CCCC99" ForeColor="Black" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Top" />
<ItemTemplate>
<table style="width: 100%;">
<tr>
<td align="center" height="235" valign="top">
<table cellpadding="0" cellspacing="0"
style="border: 1px solid #C0C0C0; width: 250px;">
<tr>
<td align="center" colspan="5" dir="rtl" height="130" valign="middle">
<asp:ImageButton ID="ImageButton9" runat="server" CommandName="ImageButton9"
Height="175px" ImageUrl='<%# Eval("pic1") %>' Width="245px" />
<br />
</td>
</tr>
<tr>
<td align="center" bgcolor="#DFDFDF" colspan="5" dir="ltr" height="40"
valign="middle">
<asp:LinkButton ID="LinkButton10" runat="server" CommandName="LinkButton10"
Font-Bold="True" Font-Names="Arial" Font-Size="11pt" Font-Underline="False"
ForeColor="Black" Text='<%# Eval("titr") %>'></asp:LinkButton>
</script>

</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFEA" colspan="5" dir="ltr" height="25" valign="middle">
<table style="width:100%;" bgcolor="#DFDFDF">
<tr>
<td align="left">
<asp:Image ID="Image5" runat="server" Height="20px" ImageUrl="~/pics/city.png" />
</td>
<td align="left">
<asp:LinkButton ID="LinkButton17" runat="server" CommandName="LinkButton10" Font-Bold="True" Font-Names="Arial" Font-Size="10pt" Font-Underline="False" ForeColor="#666666" Text='<%# Eval("mantaghe") %>'></asp:LinkButton>
</td>
<td align="right">
<asp:LinkButton ID="LinkButton16" runat="server" CommandName="LinkButton10" Font-Bold="true" Font-Names="Arial" Font-Size="10pt" Font-Strikeout="False" Font-Underline="False" ForeColor="Red" Text="قیمت اصلی : "></asp:LinkButton>
<asp:LinkButton ID="LinkButton14" runat="server" CommandName="LinkButton10" Font-Bold="true" Font-Names="Arial" Font-Size="10pt" Font-Strikeout="True" Font-Underline="False" ForeColor="Red" Text='<%# Eval("price") %>'></asp:LinkButton>
<asp:LinkButton ID="LinkButton15" runat="server" CommandName="LinkButton10" Font-Bold="true" Font-Names="Arial" Font-Size="10pt" Font-Strikeout="False" Font-Underline="False" ForeColor="Red" Text=" تومان"></asp:LinkButton>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" bgcolor="WhiteSmoke" dir="rtl" height="30" valign="middle" style="border-color: #C0C0C0; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid;">
<asp:Image ID="Image4" runat="server" ImageUrl="~/pics/basket-small.png" Width="25px" />
</td>
<td align="center" bgcolor="WhiteSmoke" dir="rtl" height="30" valign="middle" style="border-color: #C0C0C0; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid;" width="30">
<asp:LinkButton ID="LinkButton12" runat="server" CommandName="LinkButton10" Font-Bold="True" Font-Names="Arial" Font-Size="11pt" Font-Underline="False" ForeColor="#666666" Text='<%# Eval("forookhteshode") %>'></asp:LinkButton>
</td>
<td align="center" bgcolor="WhiteSmoke" dir="rtl" height="30" valign="middle" style="border-color: #C0C0C0; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid;" width="140">
<asp:LinkButton ID="LinkButton11" runat="server" CommandName="LinkButton10" Font-Bold="True" Font-Names="Arial" Font-Size="11pt" Font-Underline="False" ForeColor="#009933" Text='<%# Eval("ghaymateforoosh") %>'></asp:LinkButton>
<asp:LinkButton ID="LinkButton13" runat="server" CommandName="LinkButton10" Font-Bold="True" Font-Names="Arial" Font-Size="11pt" Font-Underline="False" ForeColor="#009933" Text=" تومان"></asp:LinkButton>
</td>
<td align="right" bgcolor="WhiteSmoke" dir="rtl" height="30" style="border-color: #C0C0C0; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid;" valign="middle">
<asp:Image ID="Image3" runat="server" ImageUrl="~/pics/percent-holder2.png" />
</td>
<td align="center" bgcolor="WhiteSmoke" dir="rtl" height="30" style="border-color: #C0C0C0; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; background-color: #f53900;" valign="middle" width="65">
<asp:Label ID="Label36" runat="server" Font-Bold="True" Font-Names="Tahoma" Font-Size="11pt" ForeColor="White" Text="%"></asp:Label>
<asp:Label ID="Label35" runat="server" Font-Bold="True" Font-Names="Tahoma" Font-Size="11pt" ForeColor="White" Text='<%# Eval("darsadetakhfif") %>'></asp:Label>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ItemTemplate>
<SelectedItemStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
</asp:DataList>

کد بالا مربوط به کنترل دیتالیست بود . در اینکنترل یک image button و چند link button هست که اطلاعات از دیتابیس خونده میشه و پر میشن . بعد وقتی روی اونها کلیک میشه در رویداد itemcommand دیتالیست آی دی مربوطه خونده میشه آی دی به صفحه مورد نظر ارسال میشه . بدین صورت : کد code behind :
string code = Convert.ToString(DataList3.DataKeys[e.Item.ItemIndex].ToString());
Response.Redirect("~/maghsad.aspx?" + code);

در این دیتالیست یک سری محصولات نمایش داده میشه و مشکل اینه که اگر کسی بخواد همزمان چند محصول رو در چند صفحه مختلف باز کنه ، با کلیک راست روی عکس یا لینک باتن ، گزینه open in new tab نداره .
دوستان چطوری میشه این مشکل رو حل کرد ؟ ممنون از کمکتون

mbasirati
چهارشنبه 25 شهریور 1394, 10:58 صبح
خب هیچ نیازی به گذاشتن ImageButton و نوشتن کد توی رویداد ItemCommand نیست. چرا کار رو سختش کردید
شما به جای ImageButton یه تگ a بذارید به این صورت:

<a href='/maghsad.aspx?code=<%# Eval("ID") %>'>لینک</a>


حالا نحوه نمایش این تگ رو با سی اس اس و ... هرجور که دوست دارید تنظیم میکنید. به همین سادگی. دیگه نیازی به کدهای درون رویداد ItemCommand هم ندارید.

hamednazarzadeh
چهارشنبه 25 شهریور 1394, 11:16 صبح
ممنون از راهنماییتون . با کدی که دادین مشکل حل شد . اگه موردی بود باز بهتون زحمت میدم . خیلی خیلی ممنونم.

mbasirati
چهارشنبه 25 شهریور 1394, 11:18 صبح
خواهش میکنم
دکمه "تشکر" کافی بود. :لبخندساده: