PDA

View Full Version : کنترل hyperlink



shafi21
یک شنبه 21 تیر 1388, 10:55 صبح
سلام دوستان،چطور میشه با کلیک روی hyperlinkعلاوه بر انتقال به صفحه ی دیگه hyperlink.text رو هم انتقال داد به صفحه ی دوم؟این hpها یک ستون از گراید من هستند

raziee
یک شنبه 21 تیر 1388, 13:36 عصر
انتقال مقادیر بین دوصفحه رو میتونی از QueryString استفاده کنی.


Response.Redirect("CreateNewUser.aspx?step=1,username=" + UserName);

و در صفحه مقصد:


Step = Request.QueryString["Step"].ToString();
UserName = Request.QueryString["UserName"].ToString();

shafi22
دوشنبه 22 تیر 1388, 09:28 صبح
ممنون ولی من از این راه نتونستم استفاده کنم
این کد رو داخل سورس صفحه یاول نوشتم:


<asp:TemplateField HeaderText="ک§">
<ItemTemplate><asp:HyperLink ID="hp" runat="server" NavigateUrl="~/nobat.aspx"><%#Eval("code")%></asp:HyperLink></ItemTemplate>
</asp:TemplateField>

که یک ستون از گرایده وبا کد نویسی گراد رو از اطلاعات جدول پر کردم،حالا میخوام با کلیک رو هر hp متنش داخل صفحه 2 انتقال داده شه
اینو مینویسم hp رو نمیشناسه!


Response.Redirect("nobat.aspx?id='" & hp.text & "'")

واضحه؟ایراد از کجاست؟

milade
دوشنبه 22 تیر 1388, 09:40 صبح
سلام دوست عزیز.
خوب معلومه نباید بشناسه !
چون این کنترل داخل گرید هست باید با FindControl پیداش کنی و ...
یه جستجو بکن .

موفق باشید

raziee
دوشنبه 22 تیر 1388, 12:27 عصر
string myHP = ((HyperLink)GridView1.FindControl("hp")).Text.ToString();

omid_pc
دوشنبه 22 تیر 1388, 12:45 عصر
از این کد هم می تونی استفاده کنی بدون findcontrol


NavigateUrl='<%#"Notepad.aspx?id="+Eval("Code")%>'

raziee
دوشنبه 22 تیر 1388, 18:47 عصر
NavigateUrl='<%#"Notepad.aspx?id="+Eval("Code")%>'

دوست من میشه بیشتر توضیح بدین.
این کد رو در صفحه طراحی ASp مینویسید دیگه درسته؟ نه در کد؟

shafi21
دوشنبه 22 تیر 1388, 21:51 عصر
از این کد هم می تونی استفاده کنی بدون findcontrol






NavigateUrl='<%#"Notepad.aspx?id="+Eval("Code")%>'




میشه کد vbرو هم بگید؟
ممنون از همگی،من داخل ص اول اینو نوشتم:که اسم گرایدمgv وhyperlinkهم hp هست


ProtectedSub Gv_SelectedIndexChanged(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Gv.SelectedIndexChanged
Dim myhp AsString = CType(Gv.FindControl("hp"), HyperLink).Text.ToString
Response.Redirect("nobat.aspx?id='" & myhp & "'")
EndSub

و در laodاز ص دوم(nobat):


Dim id As String = Request.
QueryString
("id")
Lbl_code.Text = id

ولی داخل لیبل چیزی نشون نمیده!

hobab-theme
دوشنبه 22 تیر 1388, 23:45 عصر
ساده ترین روش استفاده از روش جناب shafi21 هست
ایشون اومدن مقدار مورد نظر رو به عنوان یه پارامتر فرستادن تو url و پست کردن به صفحه مورد نظر
بعد از تو صفحه مقصد باید اونو از url کشید بیرون

shafi21
سه شنبه 23 تیر 1388, 10:19 صبح
من داخل کد aspاز صفحه اولم ستون hyperlinko تعریف کردم


<asp:TemplateField HeaderText="ک§">
<ItemTemplate><asp:HyperLink ID="hp" runat="server" NavigateUrl="~/nobat.aspx"><%#Eval("code")%></asp:HyperLink></ItemTemplate>
</asp:TemplateField>

حالا ازدوستان کسی میدونه اشکال کجاست که این پارامتر ارسال نمیشه!

hobab-theme
سه شنبه 23 تیر 1388, 10:52 صبح
من داخل کد aspاز صفحه اولم ستون hyperlinko تعریف کردم


<asp:TemplateField HeaderText="ک§">
<ItemTemplate><asp:HyperLink ID="hp" runat="server" NavigateUrl="~/nobat.aspx"><%#Eval("code")%></asp:HyperLink></ItemTemplate>
</asp:TemplateField>

حالا ازدوستان کسی میدونه اشکال کجاست که این پارامتر ارسال نمیشه!
عزیز شما اصلاً با این کد پارامتری رو ارسال نمیکنید
خروجی این هایپر شما به صورت زیر هست


<a href="~/nobat.aspx">کد دریافتی از بانک</a>

خوب حالا به نظر شما این باید پارامتری رو به صفحه دیگه ارسال کنه؟؟

milade
سه شنبه 23 تیر 1388, 11:51 صبح
به پست 6 با دقت نگاه کن .

shafi21
سه شنبه 23 تیر 1388, 12:34 عصر
جناب miladeمیشه کد vbپست 6رو بگید؟ممنون میشم

milade
سه شنبه 23 تیر 1388, 12:49 عصر
دوست عزیز !
پست 6 Vb هست .
یعنی در اصل توی Html نوشته میشه.

raziee
سه شنبه 23 تیر 1388, 15:20 عصر
کد هام رو ببین شاید کمکت کرد:gridviewTest.rar (http://barnamenevis.org/forum/attachment.php?attachmentid=33240&d=1247569751)