Asp.Net将数据从代码隐藏传递到代码前端?

时间:2013-11-17 16:09:05

标签: asp.net vb.net

我在我的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'只是一个空白的跨度。我做错了什么?

2 个答案:

答案 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)