2012-03-26 10 views
-2

Ich habe zwei Dropdown-Listen auf meiner Seite, ddlMin und ddlMax.Dropdown-Liste unter Wert eines anderen

Auf Seite laden Ich habe es den Wert einer Anfrage auswählen.quer String. Nimmt es beim Debuggen den ausgewählten Wert an, bis er die nächste Zeile erreicht, in der er den ausgewählten Wert annimmt?

http://localhost:37661/Default.aspx?search=&min=450000

ddlMin.SelectedValue = !FpsFunctions.IsNothing(Request.QueryString["min"]) 
    ? Request.QueryString["min"] 
    : "0"; <-- at this point it's 450000 

ddlMax.SelectedValue = !FpsFunctions.IsNothing(Request.QueryString["max"]) 
    ? Request.QueryString["max"] 
    : "0"; <-- after this ddlMin.SelecgtedValue changes back to 0 

Ich habe die .cs.designer überprüft, um sicherzustellen, es ist nicht etwas bescheuert vererben wurde, aber es scheint alles richtig.

Prost für die Hilfe im Voraus.

+0

public static bool IsNothing (string stringToTest) { return string.IsNullOrEmpty (stringToTest); } –

+0

Können Sie etwas von Ihrem Code zur Verfügung stellen? Und ein Link zu Ihrem localhost wird uns nicht helfen. –

+0

Der Localhost-Link sollte nur die Querystring zeigen, die ich ziehe. Nicht sicher, ob noch mehr Code benötigt wird, denn beim Debuggen des ddlMin wird der Wert bis zur nächsten Zeile übernommen und dann wieder gelöscht. Welchen anderen Code müssten Sie sehen? –

Antwort

0

Wenn meine Dropdownlist-Erstellung ich wie meine Artikel war die Schaffung war so

  foreach (string item in ConfigurationManager.AppSettings["Budget"].Split(',')) 
      { 
       items = item.ToLower() == "any" 
          ? new ListItem(item, "0") 
          : item.Contains("+") 
            ? new ListItem(String.Format("{0:0,0}+", Convert.ToInt32(item.Replace("+", ""))), 
               "999999999") 
            : new ListItem(String.Format("{0:0,0}", Convert.ToInt32(item)), item); 
       ddlMin.Items.Add(items); 
       ddlMax.Items.Add(items); 
      } 

Was dies bedeutete, obwohl ich bin unklar, warum es so viel Wirkung, dass die listitem an beiden angebracht Dropdownlists wurde als ein Einzelstück. Auch wenn ddlMin den richtigen Wert erhielt und es auswählte, als der ddlMax als 0 zurückkam, würde er das selbe listitem in beiden auswählen ... um dieses Problem zu beheben, müssen Sie nur das Hinzufügen zu ddlMin und ddlMax trennen. .

  foreach (string item in ConfigurationManager.AppSettings["Budget"].Split(',')) 
      { 
       items = item.ToLower() == "any" 
          ? new ListItem(item, "0") 
          : item.Contains("+") 
            ? new ListItem(String.Format("{0:0,0}+", Convert.ToInt32(item.Replace("+", ""))), 
               "999999999") 
            : new ListItem(String.Format("{0:0,0}", Convert.ToInt32(item)), item); 
       ddlMin.Items.Add(items); 
      } 


      foreach (string item in ConfigurationManager.AppSettings["Budget"].Split(',')) 
      { 
       items = item.ToLower() == "any" 
          ? new ListItem(item, "0") 
          : item.Contains("+") 
            ? new ListItem(String.Format("{0:0,0}+", Convert.ToInt32(item.Replace("+", ""))), 
               "999999999") 
            : new ListItem(String.Format("{0:0,0}", Convert.ToInt32(item)), item); 

       ddlMax.Items.Add(items); 
      } 

Annoying aber notwendigerweise scheinbar

Verwandte Themen