asp.net
  • .net
  • vb.net
  • 2014-05-05 29 views 0 likes 
    0

    我想隱藏基於變量值(groupId)的代碼隱藏文件後面的鏈接。 以下是我基於各種搜索結果嘗試的結果,我在stack overlfow和其他地方找到了這些結果。將一個變量從VB代碼傳遞到aspx前端頁面

    方法1:

    <asp:HyperLink ID="test_id" runat="server" 
         NavigateUrl='<%#String.Format("report.aspx")%>' 
         Text='Report' ToolTip="Generate Report" 
         ForeColor="#333399" Font-Names="Tahoma" Target = "_blank" 
         > 
         </asp:HyperLink> 
    

    後面的代碼:

    Dim groupId As String = ds.Tables(0).Rows(0).Item("GROUP_ID") 
          'bmt_id. 
          If (groupId = 0) Then 
           test_id.Visible=True; 
    
          End If 
    

    錯誤:爲test_id「未聲明。由於其保護級別,它可能無法訪問。

    方法2:

    aspx頁面:

    <%If {<%=groupId%>} = 0 Then%> 
    
    <asp:HyperLink ID="test_id" runat="server" 
         NavigateUrl='<%#String.Format("report.aspx")%>' 
         Text='Report' ToolTip="Generate Report" 
         ForeColor="#333399" Font-Names="Tahoma" Target = "_blank" 
         > 
         </asp:HyperLink> 
    
        <%End If%> 
    

    錯誤:的groupId沒有發現錯誤,在運行時。

    回答

    1

    你的兩次嘗試都很接近,但有一些缺陷。

    方法1:您的超鏈接使用了錯誤的名稱。您將其命名爲ID =「test_id」。不是「Hyperlink2」。

    <asp:HyperLink ID="test_id" runat="server" 
        NavigateUrl='<%#String.Format("report.aspx")%>' 
        Text='Report' ToolTip="Generate Report" 
        ForeColor="#333399" Font-Names="Tahoma" Target = "_blank" 
    > 
    </asp:HyperLink> 
    

    後面的代碼:

    Dim groupId As String = ds.Tables(0).Rows(0).Item("GROUP_ID") 
    
    If (groupId = 0) Then 
        test_id.Visible=True 
    End If 
    

    方法2:您使用的GroupId作爲變量(私有),而不是公共財產。

    aspx頁面:

    <%If groupId = 0 Then%> 
    
    <asp:HyperLink ID="test_id" runat="server" 
        NavigateUrl='<%#String.Format("report.aspx")%>' 
        Text='Report' ToolTip="Generate Report" 
        ForeColor="#333399" Font-Names="Tahoma" Target = "_blank" 
    > 
    </asp:HyperLink> 
    
    <%End If%> 
    

    後面的代碼:

    Public Readonly Property groupId As String 
        Get 
         return ds.Tables(0).Rows(0).Item("GROUP_ID") 
        End Get 
    End Property 
    
    +0

    否方法1不起作用。我在帖子中編輯了我的Approach1。這是一個錯字。抱歉。遵循方法2,實際上我的ds.Tables(0).Rows(0).Item(「GROUP_ID」)在page_load方法中。我如何處理?我將其保存到page_load方法的局部變量中,並將其用於屬性方法groupId中。這是apporach2的合適approach嗎? – user2569524

    +0

    對於方法2,將ds聲明爲頁級變量,而不是在page_load中聲明它。 – TimG

    +0

    謝謝蒂姆。 Approach2工作完美!只是好奇地想知道爲什麼方法1不起作用。 – user2569524

    1

    在代碼隱藏中,您需要引用ID爲「test_id」,而不是「Hyperlink2」。

     If (groupId = 0) Then 
          test_id.Visible=True 
    
         End If 
    
    +0

    號這行的也不能正常工作。對不起,我的錯字較早。現在更改我的帖子。 – user2569524

    相關問題