PDA

View Full Version : سوال: کلید ادامه مطلب در GridView ؟



mahmood1000
دوشنبه 15 شهریور 1389, 23:14 عصر
سلام دوستان

من تو GridView یه کلید گذاشتم به نام ادامه مطلب ، حالا میخواستم و قتی روش کلیک میکنم به یه صفحه دیگه بره و انجا بقیه مطالب رو کاربر بتونه ببینه و میخوام انتقال از شیوه رمز گزاری URL استفاده کنم.
اگه بتونید راهنمایی کنید ممنون میشم.

در ضمن من از ASP.NET C#‎2010 استفاده میکنم

mina0r0
دوشنبه 15 شهریور 1389, 23:38 عصر
سلام دوستان

من تو GridView یه کلید گذاشتم به نام ادامه مطلب ، حالا میخواستم و قتی روش کلیک میکنم به یه صفحه دیگه بره و انجا بقیه مطالب رو کاربر بتونه ببینه و میخوام انتقال از شیوه رمز گزاری URL استفاده کنم.
اگه بتونید راهنمایی کنید ممنون میشم.

در ضمن من از ASP.NET C#‎‎2010 استفاده میکنم

سلام
باید تو قسمت edit columns تو proreities قسمت datanavigativeurlfieid اون فیلدی که می خوای بره صفحه دیگه بنویسی و DataNavigativeUrlFormatString اسم صفحه و فیلد
...
مثلا

datanavigativeurlfieid = Id
{DataNavigativeUrlFormatString= NextPage.aspx?id={0

mahmood1000
سه شنبه 16 شهریور 1389, 00:38 صبح
سلام
باید تو قسمت edit columns تو proreities قسمت datanavigativeurlfieid اون فیلدی که می خوای بره صفحه دیگه بنویسی و DataNavigativeUrlFormatString اسم صفحه و فیلد
...
مثلا

datanavigativeurlfieid = Id

{DataNavigativeUrlFormatString= NextPage.aspx?id={0


دوست عزیز این datanavigativeurlfieid توی GridView نیست. میشه یکم بهتر راهنمایی کنی؟ من توش PostBackURL دیدم اما datanavigativeurlfieid نبود.

اگه امکانش هست میشه واسم یه نمونه پروژه لینک کنی. بدجوری کارم گیره.

بــــــــــــــــــــــــ ـا تــــــــــــــــــــشـــ ـــــــــــــــــــــــــ ـــــــــکر فــــــــــــــــــــــــ ــــراوان

rezvan.j
سه شنبه 16 شهریور 1389, 01:37 صبح
دوست عزیز این datanavigativeurlfieid توی GridView نیست. میشه یکم بهتر راهنمایی کنی؟ من توش PostBackURL دیدم اما datanavigativeurlfieid نبود.

اگه امکانش هست میشه واسم یه نمونه پروژه لینک کنی. بدجوری کارم گیره.

بــــــــــــــــــــــــ ـا تــــــــــــــــــــشـــ ـــــــــــــــــــــــــ ـــــــــکر فــــــــــــــــــــــــ ــــراوان

dataNavigateUrlField را می تونی توی هایپرلینک پیدا کنی .
برای ستون به جای boundField اگه از هایپرلینک فیلد استفاده کنی اون دو تا گزینه رو داره

rezvan.j
سه شنبه 16 شهریور 1389, 01:52 صبح
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="counter" DataNavigateUrlFormatString="~/fullF.aspx?myquery={0}"
DataTextField="subjectf" HeaderText="عنوان فراخوان" />
اینم یه نمونه کد .
که با کوئری استرینگ پاس داده شده

mahmood1000
سه شنبه 16 شهریور 1389, 16:03 عصر
سلام
باید تو قسمت edit columns تو proreities قسمت datanavigativeurlfieid اون فیلدی که می خوای بره صفحه دیگه بنویسی و DataNavigativeUrlFormatString اسم صفحه و فیلد
...
مثلا

datanavigativeurlfieid = Id


{DataNavigativeUrlFormatString= NextPage.aspx?id={0







<Columns>





<asp:HyperLinkField DataNavigateUrlFields="counter" DataNavigateUrlFormatString="~/fullF.aspx?myquery={0}"

DataTextField="subjectf" HeaderText="عنوان فراخوان" />


اینم یه نمونه کد .



که با کوئری استرینگ پاس داده شده





با تشکر از دوستان مشکل حل شد.
حالا اگر بخوام تو صفحه جدید که منتقل شده URL رو ترجمه کنم ( مثلا اگر این URL من باشه http://localhost:1047/WebForm1.aspx?myquery=1 بتونم از دیتابیس ID شماره 1 رو فراخونی کنم تا تو این صفحه ادامه مطلب رو ببینم) باید چه کار کنم؟


<asp:HyperLinkFieldDataNavigateUrlFields="ID"DataNavigateUrlFormatString="~/WebForm1.aspx?myquery={0}"Text=" ادامه مطلب"/>


اینم کدی که HyperLinkField به صفحه WebForm1.aspx هدایت میشه

Peyman.Gh
سه شنبه 16 شهریور 1389, 16:11 عصر
بتونم از دیتابیس ID شماره 1 رو فراخونی کنم

از SqlDataSource استفاده کنید.

اوبالیت به بو
سه شنبه 16 شهریور 1389, 16:15 عصر
سلام

حالا اگر بخوام تو صفحه جدید که منتقل شده URL رو ترجمه کنم ( مثلا اگر این URL من باشه http://localhost:1047/WebForm1.aspx?myquery=1 بتونم از دیتابیس ID شماره 1 رو فراخونی کنم تا تو این صفحه ادامه مطلب رو ببینم) باید چه کار کنم؟
با اين دستور اون ID رو بخونيد:


int RowID = int.Parse(Request.QueryString["myquery"]);

حالا اين RowID رو بفرستيد به اون متدي كه مي خواد SelectRow انجام بده:


Public DataSet SelectRow (int ID)
{
//Select WHERE ID = @ID or myquery
}

و بعد همين DataSet رو مقاديرش رو بخونيد و به عناصرتون نسبت بديد.

mahmood1000
چهارشنبه 17 شهریور 1389, 12:01 عصر
با تشکر از دوستانی که تا لان راهنمایی کردن واقعا مفید بود.

الان یه مشکل دارم اونم اینکه از روش asp:HyperLinkField که میرم یه ستون اضافه میکنه که به جدول. من میخواستم این کلید ادامه مطلب توی همون ستون زیر نوشته هام سمت چپ باشه .
مثلا


<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LabelID="Label2"runat="server"Text="متن"></asp:Label>
<br/>
<br/>
<divalign="left">
<asp:LinkButtonID="LinkButton1"runat="server">ادامه مطلب</asp:LinkButton></div>
</ItemTemplate>
</asp:TemplateField>
</Columns>

روزهای بارانی
چهارشنبه 17 شهریور 1389, 13:13 عصر
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="counter" DataNavigateUrlFormatString="~/fullF.aspx?myquery={0}"
DataTextField="subjectf" HeaderText="عنوان فراخوان" />
اینم یه نمونه کد .
که با کوئری استرینگ پاس داده شده





حالا اگه بخوایم به جای یه فلید دو تا فیلد از جدول رو با QueryString بفرستیم ، برای DataNavigateUrlFields اون باید چی بذاریم ؟

Peyman.Gh
چهارشنبه 17 شهریور 1389, 14:18 عصر
حالا اگه بخوایم به جای یه فلید دو تا فیلد از جدول رو با QueryString بفرستیمیک TemplateField قرار دهید و در آن یک LinkButton اضافه کنید.

در رویداد RowCommand مربوط به GridView به صورت زیر عمل کنید:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string index = e.CommandArgument.ToString();
Response.Redirect("default.aspx?id=" + index);
}

سپس خاصیت CommandArgument مربوط به LinkButton به صورت زیر مشخص کنید.

<asp:LinkButton ID="LinkButton1"
CommandArgument='<%#Eval("id").ToString()+"&name="+Eval("name").ToString() %>'
runat="server">LinkButton</asp:LinkButton>به این صورت هنگام کلیک بر روی LinkButton مقدار فیلد های id و name به رشته تقاضا فرستاده می شوند.

موفق باشید.

mahmood1000
جمعه 19 شهریور 1389, 00:53 صبح
یک TemplateField قرار دهید و در آن یک LinkButton اضافه کنید.

در رویداد RowCommand مربوط به GridView به صورت زیر عمل کنید:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string index = e.CommandArgument.ToString();
Response.Redirect("default.aspx?id=" + index);
}

سپس خاصیت CommandArgument مربوط به LinkButton به صورت زیر مشخص کنید.

<asp:LinkButton ID="LinkButton1"
CommandArgument='<%#Eval("id").ToString()+"&name="+Eval("name").ToString() %>'
runat="server">LinkButton</asp:LinkButton>به این صورت هنگام کلیک بر روی LinkButton مقدار فیلد های id و name به رشته تقاضا فرستاده می شوند.

موفق باشید.

دوست عزیز چرا هرکاری میکنم به صفحه بعدی نمیره؟
این کد برنامه منه


<Columns>
<asp:TemplateField>
<ItemTemplate>
<divalign="right"dir="rtl"lang="Fa">
<asp:LabelID="Label1"runat="server"Text='<%#Eval("Headline") %>'Font-Names="Tahoma"Font-Size="Small"></asp:Label>
</div>
<divdir="rtl"align="left"lang="Fa">
<asp:LinkButtonID="LinkButton2"CommandArgument='<%# Eval("ID").ToString() %>'runat="server"Font-Names="tahoma"Font-Size="Small"CommandName="test">ادامه مطلب</asp:LinkButton>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>



protectedvoid GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string index = e.CommandArgument.ToString();
Response.Redirect("WebForm1.aspx?ID=" + index);
}