PDA

View Full Version : آموزش: نحوه استفاده از query string در gridview



__masoud__
دوشنبه 10 خرداد 1389, 02:16 صبح
از دوستان عزيز كساني كه در رابطه با query string و ساختار دستوري آن و استفاده آن در girdview اطلاعاتي داره خواهش مي كنم به من كمك كنه ممنون ميشم .

hamedsabzian
دوشنبه 10 خرداد 1389, 03:33 صبح
بهتر بود حداقل تو همین سایت جستجو می کردی.
http://barnamenevis.org/forum/showthread.php?t=223488
http://barnamenevis.org/forum/showthread.php?t=50594
در ضمن QueryString چه ربطی به GridView داره؟

__masoud__
دوشنبه 10 خرداد 1389, 15:30 عصر
جستجو كردم ولي چيزي به دردم نخورد اين آدرس هايي هم كه دادين كمكم نكرد

بله ربطي نداره ولي من يك پروژه دارم كه با GridView يكسري اطلاعات از بانك رو ميگره و توي gridview يك linkboutton گذاشتم كه وقتي كاربر روي آن كليك كنه جزئيات بيشتر در رابطه با اون ركورد مثلا ركورد 15 در صفحه ديگه نشون داده بشه . با چند نفر صحبت كردم و توي چند سايت ديدم همه مي گفتن بهتر با querystring اطلاعات رو توي صفحه ديگه پاس بدي من كلي كار كردم ولي نتونستم درستش كنم حالا واسه همين كمك مي خوام

Vahid_moghaddam
دوشنبه 10 خرداد 1389, 15:39 عصر
توی لینک هایی که برای شما گذاشتند، لینک اول درباره query string هست.
شما اگه از button استفاده می کنید می تونید برای نمایش صفحه دیگه از Response.Redirect یا از Server.Transfer استفاده کنید (بر اساس نیاز) مثال:

Response.Redirect("Page.aspx?p1=value1&p2=value2");

با توجه به مثال بالا در query string دو کلید p1 و p2 قرار می گیره.

query string همینه. شما به چه چیزی مشکل دارید؟ کدتون رو بذارید. کد رویداد linkbutton و کد گریدویو رو

Nightbat
دوشنبه 10 خرداد 1389, 15:40 عصر
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"Page.aspx?Id=" + Eval("id").ToString()%>'>Link</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

__masoud__
دوشنبه 10 خرداد 1389, 15:51 عصر
ببينيد يك سايت دانلود نرم افزار رو در نظر بگيريد وقتي روي ادامه متن كليك مي كنه توضيحات بيشتر در رابطه با اون نرم افزار كه از بانك گرفته نشون ميده هيمن قضيه مشكل منه من يك سايت دارم نام تعدادي هتل از بانك ميگيره وقتي كاربر روي هتل آريا كليك كنه توضيحات بيشتر دز مورد هتل رو بهش توي صفحه ديگه نشون بده .

من كدي واسه اونا نوشتم يعني قبلا نوشتم ولي كار نمي كرد پاك كردم ولي اگر منظورتون كدهاي نمايش خود گريد ويو كه توي قسمت design قرار داره





<

asp:GridViewID="GridView1"runat="server"AllowPaging="True"AutoGenerateColumns="False"BackColor="White"BorderColor="C#‎CCCCC"BorderStyle="None"BorderWidth="1px"CellPadding="3"DataSourceID="AccessDataSource1"PageSize="6"style="text-align: right"Width="100%"HorizontalAlign="Center">

<PagerSettingsMode="NumericFirstLast"/>
<FooterStyleBackColor="White"ForeColor="#000066"HorizontalAlign="Center"
VerticalAlign="Top"/>
<RowStyleForeColor="#000066"/>
<Columns>
<asp:TemplateFieldShowHeader="False">
<HeaderTemplate>éï«¢ ى¢é ىں</HeaderTemplate>
<ItemTemplate>
<tableID="tbl"align="right"cellspacing="5px"dir="rtl"style="width: 100%; height: auto; text-align: right; text-decoration: none">
<tr>
<tdID="a"align="right"dir="rtl"valign="top">
<asp:ImageID="img01"runat="server"/>
<br/>
<br/>
<asp:LabelID="lbl01"runat="server"Font-Names="tahoma"Font-Size="10pt"Text="ى¢é : "></asp:Label>
&nbsp;
<asp:LabelID="lbl03"runat="server"Font-Names="tahoma"Font-Size="10pt"Text='<%# Eval("name_hotel") %>'></asp:Label>
<br/>
<br/>
<asp:LabelID="lbl02"runat="server"Font-Names="Tahoma"Font-Size="10pt"
Text='<%# Eval("address") %>'></asp:Label>
</td>
<tdID="b"align="left"colspan="1"dir="rtl"rowspan="1"valign="middle"width="auto">
<asp:ImageID="img02"runat="server"/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br/>
<br/>
<br/>
<br/>
<scriptlanguage="javascript"type="text/javascript">
function newwindow(){
winName ='';
features = 'toolbar=no,location=no,status=no,menubar=no,scrol lbars=no,resizable=no,width=700 height=900,left=0,top=0';
window.open("/Details-hotel.aspx",winName,"width=400,height=200,left=0,top=0");
}
</script>
<asp:LinkButtonID="LinkButton1"runat="server"Font-Names="tahoma"
Font-Size="9pt"onclick="LinkButton1_Click"
PostBackUrl="~/Details-hotel.aspx"CommandArgument='<%# Eval("name_hotel") %>'
CommandName="view">ê¬ںى§ى ¤ھ‍ïں¢</asp:LinkButton>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:LinkButtonID="LinkButton2"runat="server"Font-Names="tahoma"Font-Size="9pt">¢­ںيï©
ﬢ©</asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyleBackColor="White"ForeColor="#000066"HorizontalAlign="Center"Font-Names="Tahoma"Font-Size="9pt"VerticalAlign="Middle"/>
<SelectedRowStyleBackColor="#669999"Font-Bold="True"ForeColor="White"/>
<HeaderStyleBackColor="#6699FF"Font-Bold="True"ForeColor="#FFFFCC"
Font-Names="Tahoma"Font-Size="10pt"HorizontalAlign="Center"
VerticalAlign="Middle"/>
</asp:GridView>

Nightbat
دوشنبه 10 خرداد 1389, 15:56 عصر
دوست عزیز، برای اینکه کدهات اینجا قابل خواندن باشه از کلید "کد" بالای ادیتور ( اونیکه علامت # داره ) استفاده کن.
برای مشکلت هم راه حلش همونه که نوشتم. ID هتل رو پاس کن توی صفحه توضیحاتت، بعد هم ID رو بگیر و اطلاعات کاملش رو بخون و نمایش بده.

Vahid_moghaddam
دوشنبه 10 خرداد 1389, 16:03 عصر
1. کد رو توی
بذارید (علامت # توی ادیتور)
2. همونطور که Nightbat (http://barnamenevis.org/forum/member.php?u=2309) گفتند، برای این مورد از hyperlink استفاده کنید.
3. فرض کنیم صفحه ای که توش اطلاعت بیشتر رو نشون می دید، HotelDetails.aspx باشه.
اگه از hyperlink استفاده کنید:
[CODE]
<asp:HyperLink ID="lnkView" runat="server" NavigateUrl='<%#"HotelDetails.aspx?n=" + Eval("name_hotel").ToString()%>'>Link</asp:HyperLink>


و در page_load صفحه جزئیات بنویسید:


string hotelName = string.Empty;
hotelName=Request.QueryString["n"];
if (hotelName != null)
{
//Get Data and Show
}

hotelName نام هتل هست و بر اساس اون از دیتابیس جزئیات رو بخونید

__masoud__
دوشنبه 10 خرداد 1389, 17:28 عصر
دوستان ممنون مشكلم حل شد لطف كردين

seyed hassan
شنبه 09 بهمن 1389, 13:58 عصر
سلام
چطوری می تونم اطلاعات از دیتابیس توی صفحه اول قرار بدم
تا از صفحه اول مقدار تعیین کنم و اطلاعات توسط QueryString جستجو کنه به صفحه بعد

نیاز فوری دارم کمک کنید

icegirl_f2r
شنبه 17 اردیبهشت 1390, 12:01 عصر
سلام.
مشکلی که واسه من پیش اومده اینه که من توی مستر پیج ام یه گرید ویو دارم که بنا به صفحه ای که لود میشه پر میشه حالا میخوام اگه لینکی که داخل این گرید ویو هست کلیک شد به همان صفحه ای که لود شده و با اضافه کردن یه مقدار به query string بفرستم. این کار را چطور انجام بدم؟