Frage

Ich habe eine Liste. In meiner Liste habe ich eine Dropdown -Box, die ich meine Codebehind -Seite ausfüllen möchte. Nur die Sache ist, ich weiß nicht, wie ich auf dieses Webcontrol zugreifen soll. Das Folgende funktioniert nicht:

DropDownList ddl = (DropDownList)lvUserOverview.Controls[0];

Ich weiß, dass der Index 0 ist, da die Dropdown -Liste die einzige Steuerung auf der ListView ist (auch wenn ich Index 1 versuche, erhalte ich eine Index außerhalb der Bereichsausnahme).

Kann mir jemand sagen, wie ich auf die Dropdownlist zugreifen kann? In meiner Seite möchte ich ListItEMs hinzufügen.

ASPX -Code:

<asp:DropDownList ID="ddlRole" onload="ddlRole_Load" runat="server">
</asp:DropDownList>

CodeBehind:

protected void ddlRole_Load(object sender, EventArgs e)
{
  DropDownList ddl = (DropDownList)lvUserOverview.FindControl("ddlRole");
  if (ddl != null)
  {
      foreach (Role role in roles)
          ddl.Items.Add(new ListItem(role.Description, role.Id.ToString()));
  }
}
War es hilfreich?

Lösung

Um die Dropdown -Liste innerhalb eines eigenen Last -Event -Handlers zu verwirklichen, müssen Sie nur einen Absender als Dropdownlist besetzen.

DropDownList ddlRole = sender as DropDownList;

Andere Tipps

Wenn dies in einer Listansicht gerendert wird, besteht die Möglichkeit, dass mehrere Dropdownlisten instanziiert werden. Jeder erhält eine eindeutige ID und Sie könnten Matthews Ansatz nicht verwenden.

Möglicherweise möchten Sie das itemDatabound -Ereignis verwenden, um auf E.Item.FindControl ("nameOfdropdownList") zuzugreifen, mit der Sie bei jeder erstellten Dropdown -Art ITREATIVO -IT -ITRORT.

Wenn Sie nur eine erstellen ... Warum ist es in einer Listansicht?

Versuche dies:

DropDownList ddl = (DropDownList)lvUserOverview.FindControl("NameOfDropDownList");

Wenn Ihre Steuerelemente Daten gebunden sind, versuchen Sie, nach Datenbindung auf ihre Nachkommen zuzugreifen. Ich kann auch helfen, Objekte in Debugger vor dieser Zeile zu inspizieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top