2016-05-15 4 views
0

Ich bin immer noch neu zu aspx dev und ich habe einige Schwierigkeiten, auf eine Dropdown-Liste zugreifen, die ich in der Navigationsleiste platziert. Markup sieht wie folgt aus:Access Drop-Down auf Masterpage über ContentPlaceHolder

 <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> 

ich zum Content nur erhalten kann feinen Code unten, aber nach, dass die Dinge schief gehen, null Verweis bekommen, wenn das Dropdownlist-Objekt erstellen ...

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(); 

Irgendwelche Vorschläge?

Antwort

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); 
} 
Verwandte Themen