2011-11-06 56 views
0

我在我的webform中有一個包含多個項目的loginview。我想在代碼behinde中訪問其中的一個並禁用它。在loginview中訪問控件

爲exampe的loginview項目之一是:

    <asp:LoginView ID="LoginView8" runat="server"> 
         <LoggedInTemplate> 
          <asp:Image ID="imgAssetTransport" runat="server" SkinID="AssetTransportDisable" meta:resourcekey="imbAssetTransport" /> 
         </LoggedInTemplate> 
         <RoleGroups> 
          <asp:RoleGroup Roles="AssetUser,AssetAdmin"> 
           <ContentTemplate> 
            <asp:HyperLink ID="**imbAssetTransport**" runat="server" SkinID="AssetTransport" NavigateUrl="~/Asset/Pages/AssetTransportDetailList.aspx" meta:resourcekey="imbAssetTransport" /> 
           </ContentTemplate> 
          </asp:RoleGroup> 
         </RoleGroups> 
        </asp:LoginView> 

現在我要訪問「imbAssetTransport」,並禁用它,當用戶查看我的網頁。

回答

3

你可以嘗試這樣的....

注:此爲示範如何訪問被置於登錄視圖中拉布勒控制..

<asp:LoginView ID="lgBookingEngineByRole" runat="server"> 
    <RoleGroups> 
    <asp:RoleGroup Roles="hdn-BookingFinancial"> 
     <ContentTemplate> 
     <asp:Label ID="lblTest" runat="server" /> 
     </ContentTemplate> 
    </asp:RoleGroup"> 
    </RoleGroups> 
</asp:LoginView> 

並在頁面加載事件,你可以把這個...

Label theLabel = ((Label)(this.lgBookingEngineByRole.FindControl("lblTest"))); 
+0

我寫這個代碼(在自己的例子中):HyperLink h =((HyperLink)(this.LoginView8.FindControl(「imgAssetTransport」)))。我嘗試h.visible = false;但消息錯誤:「h」爲空! – Tavousi