2013-03-25 56 views
0

我有一个匿名模板和LoggedInTemplate的LoginView。我想找出页面加载事件中包含在LoggedInTemplate中的控件。页面加载时在LoginView LoggedInTemplate中寻找控件?

<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false"> 
       <AnonymousTemplate> 
        <asp:HyperLink NavigateUrl="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server" Text="Log In" /> 
       </AnonymousTemplate> 
       <LoggedInTemplate> 
       <%-- <span >--%> 
        <asp:Image ID="imgUserPic" CssClass="profilePic floatRight cursor" runat="server" /> 
         <a href="#" class="hlnkstyle">        
          <asp:Label ID="lblLoginUser" runat="server" class="show_hide"/> 
         </a> 
        <%--</span>--%> 
        <div class="slidingDiv imgHover"> 
         <asp:Image ID="imgSlidingUserPic" CssClass="slidingPic" runat="server" /> 
         <div class="clr"></div> 
         <asp:Label ID="lblUserName" Font-Bold="true" runat="server" /> 
         <br /><asp:Label ID="lblEmail" ForeColor="#666" runat="server" />      
         <br /><br /> 
         <asp:HyperLink id="hlkUsrProfile" CssClass="lnkprofilestyle" runat="server">View Profile</asp:HyperLink> 
         <div class="innerSlidingDiv"> 
          <asp:HyperLink ID="hlkUsrAccount" NavigateUrl="~/Account/ChangePassword.aspx" runat="server">Account</asp:HyperLink> 
          <asp:LoginStatus ID="LoginStatus1" style=" float:right;" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Account/Login.aspx" 
           onloggingout="HeadLoginStatus_LoggingOut"/> 
         </div> 
        </div>           
       </LoggedInTemplate> 
      </asp:LoginView> 

我在这里试图找到登录的控件(超链接&图片)鉴于在页面加载事件。 但与此代码,我无法得到控制权,并得到一个错误。
所以任何帮助深表谢意。

HyperLink hlkUsrProfile = (HyperLink)HeadLoginView.FindControl("hlkUsrProfile"); 
     Image imgUserPic = (Image)HeadLoginView.FindControl("imgUserPic"); 

回答

2

试试这个:

(this.HeadLoginView.FindControl("hlkUsrProfile") as HyperLink).Text = "Some text"; 
(this.HeadLoginView.FindControl("imgUserPic") as Image).ImageUrl= "Image Url";