2016-05-15 10 views
0

まだaspx devには新しく、私はナビゲーションバーに置いたドロップダウンリストにアクセスするのにいくつか問題があります。 マークアップは次のようになります。ContentPlaceHolderを使用してMasterpageでドロップダウンにアクセス

 <div class="navbar-collapse collapse">      
      <ul class="nav navbar-nav"> 
       <asp:ContentPlaceHolder ID="cphTournamentDropdown" runat="server"> 
        <li class="dropdown" style="background-color: orangered" id="ZZZ" runat="server"> 
         <a class="dropdown-toggle" id="WWW" style="margin-right: 5px; color: navy" href="#" data-toggle="dropdown">Tournaments<b class="caret"></b></a> 
        </li> 
       </asp:ContentPlaceHolder> 
       <li><a runat="server" href="~/" style="color: orangered">Logs</a></li> 
       <li><a runat="server" href="~/About" style="color: orangered">Fixtures</a></li> 
       <li><a runat="server" href="~/Contact" style="color: orangered">Results</a></li> 
      </ul> 
     </div> 

私はちょうど罰金以下のコードを使用してのContentPlaceHolderを取得することができますが、物事がうまくいかないことの後に、DropDownListコントロールオブジェクトを作成するときにnull参照を取得...

ContentPlaceHolder cph = (ContentPlaceHolder)form.FindControl("cphTournamentDropdown"); 
    HtmlGenericControl genericControl = (HtmlGenericControl)cph.FindControl("ZZZ"); 
    DropDownList cbo = genericControl.Controls[0] as DropDownList; 

    cbo.DataSource = tournaments; //arrayList of objects 
    cbo.DataTextField = "Title"; 
    cbo.DataBind(); 

助言がありますか?

答えて

0
<a class="dropdown-toggle" runat="server" id="WWW" ... 


ContentPlaceHolder cph = (ContentPlaceHolder)form.FindControl("cphTournamentDropdown"); 
HtmlGenericControl genericControl = (HtmlGenericControl)cph.FindControl("ZZZ"); 
HtmlAnchor cbo = (HtmlAnchor)genericControl.FindControl("WWW"); 

for (int i = 0; i < 10; i++) 
{ 
    var item = new HtmlGenericControl("li"); 
    item.InnerText = i.ToString(); 
    cbo.Controls.Add(item); 
} 
関連する問題