View Full Version : (خیلی فوری) ارسال اطلاعات به datagrid یا grideview
baranbahari1320
پنج شنبه 07 دی 1391, 19:27 عصر
من میخوام نتایج جستجویی که کاربر انجام میده بره به صفحه دیگه ای که datagride داره اما نمیدونم باید چیکار کنم من تو صفحه جستجو از این کدها استفاده کردم اما به datagride صفحه دیگه دسترسی ندارم
خیلی فوریه لطفا منو راهنمایی کنین.
SqlCommand cmd = new SqlCommand(command, con);
con.Open();
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
malloc
پنج شنبه 07 دی 1391, 20:47 عصر
تو فکر کنم با استفاده از کووری استرینگ بتونی به گریدویو صفحه دوم بفهمونی که باید چیو نشون بده
baranbahari1320
پنج شنبه 07 دی 1391, 21:33 عصر
من اینجوری فرستادمش اما ایراد میگیره
Response.Redirect("showsearchadv.aspx?DataGrid1.DataSource=cmd.Execut eReader()? DataGrid1.DataBind()");
صفحه بعدم:
DataGrid1.DataSource = Request.QueryString("datagrid1.datasource");
micro_bhk
پنج شنبه 07 دی 1391, 22:35 عصر
من اینجوری فرستادمش اما ایراد میگیره
Response.Redirect("showsearchadv.aspx?DataGrid1.DataSource=cmd.Execut eReader()? DataGrid1.DataBind()");
صفحه بعدم:
DataGrid1.DataSource = Request.QueryString("datagrid1.datasource");
دوست عزیز، این کاری که انجام دادید اشتباست. شما مقدار فیلدهایی که تو نتیجه جستجو تاثیر میزارن رو با استفاده از query string بفرست اون صفحه ای که میخوای نتیجه جستجو رو نمایش بدی، بعد با استفاده از اونا کوری بگیر و نتیجه رو نشون بده
malloc
پنج شنبه 07 دی 1391, 23:56 عصر
آره بابا یهو یه دنیا رو میخوای با کووری استرینگ بفرستی؟؟؟؟
معمولا شرطی که باعث میشه جدول محدود بشه رو یجوری میکنن تو کووری استرینگ که تو صفحه دوم با اون مقدارهای رسیده یه سلکت زده بشه و از مقادیر بدست اومده استفاده بشه
baranbahari1320
جمعه 08 دی 1391, 01:32 صبح
میشه یه مثال کوچیک بدین.
من موندم صفحه دوم باید چی بنویسم.
p.parsaee
جمعه 08 دی 1391, 04:38 صبح
روش ساده تري هم وجود داره. يك كنترل هايپر لينك (HyperLink) داخل يكي از سطرهاي grid بزاريد. با كليك روي اين كنترل به صفحه اي مثل showsearchadv.aspx هدايت مي شيد و كوئري استرينگي مثل code رو مي فرستيد. بدين صورت
<asp:GridView ID="gvAds" runat="server"">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("AdId", "showsearchadv.aspx?code={0}") %>'>نمايش جزئيات ...</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
همون طور كه ملاحظه مي كنيد در پروپرتي NavigateURL كنترل هايپرلينك تنظيم شده كه با كليك روي اون به صفحه showsearchadv.aspx برويم و يك كوئري استرينگ به اسم code رو بهش بفرستيم. حالا مقدار اين كوئري استرينگ از روي فيلد AdId به دست مي ياد. به اين معني كه فيلد كليدي جدولي كه به اين گريد بايند شده اسمش AdId است.
بعد از فرستادن اين كوئري استرينگ به صفحه showsearchadv.aspx ، اون رو بدين صورت مي خونيم و ازش استفاده مي كنيم:
int id = int.Parse(Request.QueryString["code"]);
DataGrid1.DataSource = GetDataFromDatabaseById(id);
DataGrid1.DataBind();
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.