我在我的Asp.Net网页上的代码中有这个
Public Class display
Inherits System.Web.UI.Page
Protected Property pID As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Request.QueryString("id") = "") Then
Response.Redirect("Default.aspx")
Else
pID = Request.QueryString("id")
End If
End Sub
End Class
现在,我希望在页面加载时获取ID以影响代码前面的项目,所以我添加了这个:
<asp:Label ID="Label1" runat="server" Text='<%# pID %>'></asp:Label>
作为测试对象。当跑'Label1'只是一个空白的跨度。我做错了什么?
答案 0 :(得分:2)
您不需要<%# pID %>
,只需使用
Label1.Text = pID
由于Label1
是服务器控件,可以在页面加载中访问。
将您的代码更改为
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Request.QueryString("id") = "") Then
Response.Redirect("Default.aspx")
Else
pID = Request.QueryString("id")
Label1.Text = pID
End If
End Sub
编辑:
我建议您使用LinkButton
<asp:LinkButton OnClick="LinkButton_Click" />
CS代码
Sub LinkButton_Click(sender As Object, e As EventArgs)
Response.Redirect(piccom.displayLink(pID))
End Sub
答案 1 :(得分:0)
保持简单和有条理,就像@saptal所暗示的那样。
pID = Request.QueryString("id")
Label1.Text = pID
如果您需要锚控件,可以在标记上使用这样的HyperLink控件:
<asp:HyperLink ID ="genHyperLink" CssClass="genLink" runat="server" />
代码背后的代码:
genHyperLink.NavigateUrl = piccom.displayLink(pID)