PDA

View Full Version : سوال: ایجاد لینک در گریدویو



pedram_ns
چهارشنبه 22 مهر 1388, 11:37 صبح
با سلام
من بوسیله کدهای زیراطلاعات رو در یک گریدویو نمایش می دم در خط آخر می خوام لینکی ایجاد کنم که مقدار فیلد id رو بصورت کوری استرینگ به صفحه دیگه ارسال کنه.باید چکار کنم؟

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID"
DataSourceID="Data">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
<asp:BoundField DataField="Area" HeaderText="Area" SortExpression="Area" />
<asp:BoundField DataField="Type" HeaderText="Type" SortExpression="Type" />
<asp:HyperLinkField NavigateUrl="~/Details.aspx?ID=" Target="_blank"
Text="نمایش" />
</Columns>
</asp:GridView>

Saber_Fatholahi
چهارشنبه 22 مهر 1388, 11:52 صبح
سلام دوست من به جای این کد

="~/Details.aspx?ID="
این کد بنویس


=Eval("~/Details.aspx?ID={0}" ,id)

pedram_ns
چهارشنبه 22 مهر 1388, 19:15 عصر
من کدتون رو استفاده کردم ولی ارور زیر رو می ده مطمئنید که می شه از این کد توی گریدویو استفاده کرد؟

Parser Error Message: Literal content ('<asp:HyperLinkField NavigateUrl=Eval("~/Details.aspx?ID={0}" ,id) Text="نمايش" />') is not allowed within a 'System.Web.UI.WebControls.DataControlFieldCollect ion'

Saber_Fatholahi
چهارشنبه 22 مهر 1388, 23:24 عصر
دوست من خوب معلومه که خطا می ده
کد بین این عبارت بذارین

'<%#عبارت%>'
که عبارت همون کد مورد نظر برای بایند کردن
موفق باشی
من توی پروژه هام خیلی از این کد استفاده میکنم میتونی از پروژه من ایده بگیری

pedram_ns
پنج شنبه 23 مهر 1388, 15:53 عصر
من از کدتون استفاده کردم ولی جواب نمی ده

Parser Error Message: Databinding expressions are only supported on objects that have a DataBinding event. System.Web.UI.WebControls.HyperLinkField does not have a DataBinding event.

انگار ساپورتش نمی کنه

Saber_Fatholahi
پنج شنبه 23 مهر 1388, 16:51 عصر
توی پروژه من بگرد این کد هست مگه میشه ساپورت نکنه
دوست من اول یه تمپلیت فیلد ایجاد کن بعد این کارو بکن
من توی سایت خودم اینو دارم همونو واست گذاشتم موفق باشی

<asp:HyperLink ID="hlink_project" runat="server"
NavigateUrl='<%# Eval("ID","~/Increament.aspx?ProjectID={0}") %>'
Text='عنوان'></asp:HyperLink>

pedram_ns
شنبه 25 مهر 1388, 11:06 صبح
خوب این کد هم ارور می ده در واقع این کد توی datalist جواب می ده ولی توی gridview نه!

pedram_ns
شنبه 25 مهر 1388, 16:00 عصر
دوست گرامی با تشکر از کمکهاتون مشکل من با این کد حل شد.

<asp:HyperLinkField DataNavigateUrlFields="ID"
DataNavigateUrlFormatString="Details.aspx?ID={0}" HeaderText="جزئیات"
Text="نمایش" />

Saber_Fatholahi
شنبه 25 مهر 1388, 16:03 عصر
دوست من گفتم که یه TemplateField توی گرید ویو بسازید و این کد استفاده کنید
موفق باشید