2016-06-21 17 views
0

Ich habe noch nie Benutzersteuerelemente in C# .NET verwendet und arbeite an einem Projekt mit drei Dropdownlisten, die ich in ein Benutzersteuerelement einfügen muss. Ich habe mich gefragt, wie ich das machen würde. Ich werde den Code für meine Dropdown-Listen veröffentlichen und einen Screenshot dessen, wie sie derzeit aussehen und wie sie aussehen soll. Vielen Dank.Hinzufügen von DropDownLists zu einem Benutzersteuerelement C#

public partial class _default2 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       DropDownList1.DataBind(); 
       DropDownList1_SelectedIndexChanged(sender, e); 
       DropDownList2.DataBind(); 
       DropDownList2_SelectedIndexChanged(sender, e); 
       DropDownList3.DataBind(); 
      } 
     } 

     // Drop Down List 1 
     protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      XmlDataSource2.XPath = String.Format("mmsdata/mill[@n='{0}']/mach", DropDownList1.SelectedValue); 
     } 
     // Drop Down List 2 
     protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      XmlDataSource3.XPath = String.Format("mmsdata/mill[@n='{0}']/mach[@n='{1}']/srn", DropDownList1.SelectedValue, DropDownList2.SelectedValue); 
      BindSensorList(); 
     } 

     protected void BindSensorList() 
     { 
      //sender.GetType(); 
      XmlDocument xdoc = XmlDataSource3.GetXmlDocument(); 
      XmlNodeList nodes = xdoc.SelectNodes(XmlDataSource3.XPath); 
      var sensors = new List<Sensor>(); 
      foreach (XmlNode node in nodes) 
      { 
       sensors.Add(new Sensor { id = node.Attributes["n"].Value, name = node.InnerText }); 
      } 

      DropDownList3.DataSource = sensors; 
      DropDownList3.DataValueField = "id"; 
      DropDownList3.DataTextField = "name"; 
      DropDownList3.DataBind(); 
     } 

Was ich möchte, dass sie aussehen

First picture

Was sie sehen aus wie

Second Picture

Antwort

1

Der einfachste Weg, um Ihre Dropdown-Liste in den die Benutzersteuerung ist Erstellen Sie ein Benutzersteuerelement in der Projektmappe, und legen Sie dann das As p.net webform code in der ui und Sie können dann einen Code hinter es für die gleiche Weise schreiben Sie ein Web-Formulare erstellen.

Beispiel Benutzer Control

<%@ Control Language="C#" ClassName="SampleUserControl" %> 
<h3> <u>User Control</u> </h3> 
<script runat=server> 
</script> 
Drop down 1: <asp:DropDownList id="ColorList" 
       AutoPostBack="True" 
       OnSelectedIndexChanged="Selection_Change" 
       runat="server"> 

       <asp:ListItem Selected="True" Value="White"> White </asp:ListItem> 
       <asp:ListItem Value="Silver"> Silver </asp:ListItem> 
       <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem> 
       <asp:ListItem Value="Khaki"> Khaki </asp:ListItem> 
       <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem> 
      </asp:DropDownList> 
<asp:label id="Label1" runat=server/> 

Sie eine Benutzersteuerung auf einer Seite verwenden können und dynamisch seinen Inhalt laden, initialisieren es gerade auf der Seite, die Sie wollen es auf verwenden und in Werte, die die gleiche Art und Weise passieren Sie laden eine Klasse/Seite

+0

"Wie sie aussehen" und "Wie ich will, dass sie aussehen" waren rückwärts, ich brauche sie, um das Gegenteil zu sein, ich habe den Kommentar auf den Bildern festgelegt. Es ist jetzt korrekt –

+0

@ JordanDarland ist das nicht nur ein Styling-Problem? Wenn Sie Klassen oder IDs auf Ihre Dropdown-Steuerelemente anwenden, wenn Sie sie dynamisch erstellt haben, können Sie sie wie gewünscht in CSS formatieren. –

Verwandte Themen