• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

hyperlink

akram.salimi

کاربر تازه وارد
تاریخ عضویت
24 جولای 2006
نوشته‌ها
39
لایک‌ها
0
محل سکونت
مشهد
یکdatagridدارم که می خوام تمام رکوردهای یکی از ستونهاش رو به صورت یک hyperlinkکه به یکی از ستونهای یک tableدر دیتابیسم لینکش کنم .طوری که کاربر با کلیک روی یک رکورد دیتاگرید بتونه رکود متناظرش رو در tableدیتایسم ببینه.
چه جوری باید لینکش کنم؟
 

mehdivk

Registered User
تاریخ عضویت
5 آپریل 2006
نوشته‌ها
319
لایک‌ها
0
دوست عزیز کنترل DataGrid یک نوع ستون به نام HyperLinkColumn داره که به شما اجازه میده که یک ستون به شکل لینک داشته باشید . با ست کردن پارامتر های DataNaviagteUrlField و DataTextField میتونی لینک را درست کنی یک نمونه را در زیر می بینید :

کد:
<asp:DataGrid ID="Grid1" Runat="server">
			<Columns>
				<asp:HyperLinkColumn DataNavigateUrlField="Your Url Field" DataTextField="Your Text Field"></asp:HyperLinkColumn>
			</Columns>
		</asp:DataGrid>

اما یک راه دیگر که البته خیلی بهتر از روش فوق می باشد استفاده از TemplateCoumn می باشد .به شکل زیر میتوانید با استفاده از یک Template Column یک ستون لینک داشته باشید :

سه نوع مختلف را در زیر می بینید :

کد:
		<asp:DataGrid ID="Grid1" Runat="server">
			<Columns>
				<asp:TemplateColumn>
					<ItemTemplate>
						<a href='<%#DataBinder.Eval(Container.DataItem,"Your Url Field")%>'><%#DataBinder.Eval(Container.DataItem,"Your Text Field")%></a>
					</ItemTemplate>
				</asp:TemplateColumn>
				<asp:TemplateColumn>
					<ItemTemplate>
						<a href='http://test.com/news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"Some ID Field")%>'><%#DataBinder.Eval(Container.DataItem,"Your Text Field")%></a>
					</ItemTemplate>
				</asp:TemplateColumn>
				<asp:TemplateColumn>
					<ItemTemplate>
						<a href='http://test.com/news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"Some ID Field")%>'>Some Fix Value</a>
					</ItemTemplate>
				</asp:TemplateColumn>				
			</Columns>
		</asp:DataGrid>

در آخر هم خدومتون عرض کنم که با استفاده از <%#DataBinder.Eval(Container.DataItem,"Some Column Name ")%> میتونید به محتوای یک ستون در سطر جاری دسترسی داشته باشید .


موفق باشید .
 

akram.salimi

کاربر تازه وارد
تاریخ عضویت
24 جولای 2006
نوشته‌ها
39
لایک‌ها
0
محل سکونت
مشهد
دوست عزیز کنترل DataGrid یک نوع ستون به نام HyperLinkColumn داره که به شما اجازه میده که یک ستون به شکل لینک داشته باشید . با ست کردن پارامتر های DataNaviagteUrlField و DataTextField میتونی لینک را درست کنی یک نمونه را در زیر می بینید :

کد:
<asp:DataGrid ID="Grid1" Runat="server">
			<Columns>
				<asp:HyperLinkColumn DataNavigateUrlField="Your Url Field" DataTextField="Your Text Field"></asp:HyperLinkColumn>
			</Columns>
		</asp:DataGrid>

اما یک راه دیگر که البته خیلی بهتر از روش فوق می باشد استفاده از TemplateCoumn می باشد .به شکل زیر میتوانید با استفاده از یک Template Column یک ستون لینک داشته باشید :

سه نوع مختلف را در زیر می بینید :

کد:
		<asp:DataGrid ID="Grid1" Runat="server">
			<Columns>
				<asp:TemplateColumn>
					<ItemTemplate>
						<a href='<%#DataBinder.Eval(Container.DataItem,"Your Url Field")%>'><%#DataBinder.Eval(Container.DataItem,"Your Text Field")%></a>
					</ItemTemplate>
				</asp:TemplateColumn>
				<asp:TemplateColumn>
					<ItemTemplate>
						<a href='http://test.com/news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"Some ID Field")%>'><%#DataBinder.Eval(Container.DataItem,"Your Text Field")%></a>
					</ItemTemplate>
				</asp:TemplateColumn>
				<asp:TemplateColumn>
					<ItemTemplate>
						<a href='http://test.com/news.aspx?id=<%#DataBinder.Eval(Container.DataItem,"Some ID Field")%>'>Some Fix Value</a>
					</ItemTemplate>
				</asp:TemplateColumn>				
			</Columns>
		</asp:DataGrid>

در آخر هم خدومتون عرض کنم که با استفاده از <%#DataBinder.Eval(Container.DataItem,"Some Column Name ")%> میتونید به محتوای یک ستون در سطر جاری دسترسی داشته باشید .


موفق باشید .


خیلی ممنون و متشکر.
ولی من مشکلم اینه که نمی دونم چه جوری متغیر nevigateurlرو طوری بهش مقدار بدم که به یک رکورد از رکوردهای tableام لینک بشه!
 

shervin

ASP.net
کاربر قدیمی پرشین تولز
تاریخ عضویت
26 ژوئن 2005
نوشته‌ها
6,353
لایک‌ها
261
سن
39
محل سکونت
تهران
تو همون کدی که مهدی داده
کد:
<a href='http://test.com/news.aspx?id=[COLOR="Red"]<%#DataBinder.Eval(Container.DataItem,"Some ID Field")[/COLOR]%>'>Some Fix Value</a>
					</ItemTemplate>
توی قسمتی که قرمر کردم بجای dome id field اسم فیلدی رو میزاری که میخوای بهش لینک بشه
 
بالا