none
DropDownList und Aktualisierung RRS feed

  • Frage

  • Hallo

    Ich habe 2 DropDownList die mit daten gefüllt werden aus einer mssql datenbank unter den beiden DropDownList habe ich eine DataList

    wenn ich aus der ersten DropDownList einen wert auswähle aktualliesiert sich die zweite DropDownList mit seinen daten nur nicht meine DataList

    wenn ich dann aber aus der zweiten einen wert auswähle aktualisiert sich auch meine DropDownList

    wie kann ich das machen das sich die DataList auch nach auswahl der ersten DropDownList aktualisiert

    ich habe CausesValidation="True" AutoPostBack="True"

     

    Sonntag, 31. Oktober 2010 12:08

Antworten

  • Hi,

    ich muss dazu gestehen ich mache das mit expression web 4 und post mal den gesamten code

    Arrrgh. SqlDataSource Dingens, ist ja übel :)

    Grundproblem bei diesen Controls ist, dass man meist sehr schnell aufgeschmissen ist, wenn man irgendwas braucht, was vom Standard abweicht.

    In deinem Fall würde ich versuchen, einen weiteren ControlParameter einzubauen, der dann auf DropDownList1 zeigt.

      <asp:ControlParameter ControlID="DropDownList1" Name="download_cat_id1" PropertyName="SelectedValue" Type="Int32" />

    Das SQL Statement für SqlDataSource2 sollte man dann wie folgt ändern:

      SELECT ... FROM [tbl_www_download] WHERE ([download_cat_id] = @download_cat_id OR [download_cat_id] = @download_cat_id1)

    Noch so als Hinweis: Sinnvolle Namen für Variablen, Steuerelemente, ... sind meist sehr hilfreich und erhöhen die Übersichtlichkeit und verbessern damit auch die Effizienz.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert MCDPone Montag, 1. November 2010 19:20
    Sonntag, 31. Oktober 2010 13:17
    Moderator

Alle Antworten

  • Hi,

    wenn ich aus der ersten DropDownList einen wert auswähle aktualliesiert sich die zweite DropDownList mit seinen daten nur nicht meine DataList

    wenn ich dann aber aus der zweiten einen wert auswähle aktualisiert sich auch meine DropDownList

    öhm. Letzteres soll wohl heißen "aktualisiert sich auch meine DataList", oder?

    Falls ja, hast Du wohl an der falschen Stelle die Aktualisierung der DataList bzw. deren DataSource drin. Poste doch mal bitte den Code der entsprechenden Eventhandler (also bspw. SelectedIndexChanged der beiden DDLs)

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Sonntag, 31. Oktober 2010 12:18
    Moderator
  • ja letzteres sollt natürlich DataList heissen - sorry

    ich muss dazu gestehen ich mache das mit expression web 4 und post mal den gesamten code

    <!-- #BeginTemplate "../master.dwt" -->

    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <!-- #BeginEditable "doctitle" -->
    <title>Dateien</title>
    <style type="text/css">

    .auto-style2 {
     font-size: x-small;
    }
    .auto-style3 {
     font-weight: normal;
    }
    </style>
    <!-- #EndEditable -->
    <link href="../styles/style1.css" media="screen" rel="stylesheet" title="CSS" type="text/css" />
    <style type="text/css">

    .auto-style1 {
     color: #708090;
     text-decoration: underline;
    }
    </style>
    </head>

    <body>

    <form id="form1" runat="server">

    <!-- Begin Container -->
    <div id="container">
     <!-- Begin Masthead -->
     <div id="masthead">
      <img alt="" height="26" src="../images/www04403.jpg" width="339" />
      <h3>...wer sonst</h3>
     </div>
     <!-- End Masthead -->
     <!-- Begin Navigation -->
     <div id="navigation">
      <ul>
       <li><a href="../default.aspx">Home</a></li>
       <li><a href="../ueber/ueber.aspx">Über</a></li>
       <li><a href="downloads.aspx">Service</a></li>
       <li><a href="../demo/demo.aspx">Demo</a></li>
       <li><a href="../rechtliches/rechtliches.aspx">Rechtliches</a></li>
       <li><a href="../impressum/impressum.aspx">Impressum</a></li>
      </ul>
     </div>
     <!-- End Navigation -->
     <!-- Begin Page Content -->
     <div id="page_content">
      <!-- Begin Content -->
      <div id="content" style="left: 0px; top: 0px; width: 501px">
       <!-- #BeginEditable "content" -->
       <h4 class="auto-style3">Bitte wählen Sie einen Fragenbereich aus:<br />
       <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:cms_csr_software_deConnectionString %>" SelectCommand="SELECT * FROM [tbl_www_download_categories] WHERE ([download_cat_zuordnung] IS NULL AND [download_cat_aktiv] = -1) ORDER BY [download_cat_nr]">
     </asp:SqlDataSource>
     <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:cms_csr_software_deConnectionString %>" SelectCommand="SELECT [download_cat_beschreibung], [download_cat_id] FROM [tbl_www_download_categories] WHERE ([download_cat_zuordnung] = @download_cat_zuordnung) ORDER BY [download_cat_nr]">
      <SelectParameters>
       <asp:ControlParameter ControlID="DropDownList1" Name="download_cat_zuordnung" PropertyName="SelectedValue" Type="Int32" />
      </SelectParameters>
     </asp:SqlDataSource>
       <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:cms_csr_software_deConnectionString %>" SelectCommand="SELECT * FROM [tbl_www_download] WHERE ([download_cat_id] = @download_cat_id)">
      <SelectParameters>
       <asp:ControlParameter ControlID="DropDownList2" Name="download_cat_id" PropertyName="SelectedValue" Type="Int32" />
      </SelectParameters>
       </asp:SqlDataSource>
       <span class="auto-style2">
     <asp:DropDownList id="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="download_cat_beschreibung" DataValueField="download_cat_id" Height="20px" Width="265px" CausesValidation="True" AutoPostBack="True">
     </asp:DropDownList>
       </span></h4>
       <h4 class="auto-style3"><span class="auto-style2">
     <asp:DropDownList id="DropDownList2" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource3" DataTextField="download_cat_beschreibung" DataValueField="download_cat_id" Height="20px" Width="265px" CausesValidation="True">
     </asp:DropDownList>
       </span></h4>
       <asp:DataList id="DataList1" runat="server" DataKeyField="download_id" DataSourceID="SqlDataSource2" Width="321px">
        <ItemTemplate>
         <asp:HyperLink id="HyperLink2" runat="server" NavigateUrl='<%# "http://www.csr-software.de/" & Eval("download_url") %>' Text='<%# Eval("download_name") %>' Target="_parent"></asp:HyperLink>
        </ItemTemplate>
       </asp:DataList>
       <p class="auto-style3">&nbsp;</p>
       <!-- #EndEditable --></div>
      <!-- End Content -->
      <!-- Begin Sidebar -->
      <div id="sidebar" style="width: 148px">
       <!-- #BeginEditable "sidebar" -->
       <!-- #EndEditable --></div>
      <!-- End Sidebar --></div>
     <!-- End Page Content -->
     <!-- Begin Footer -->
     <div id="footer">
      <p><a href="../default.aspx">Home</a> |
      <a href="../ueber/ueber.aspx"><span class="auto-style1">Über</span></a> |
      <a href="downloads.aspx">Service</a> |
      <a href="../demo/demo.aspx">Demo</a> |&nbsp;
      <a href="../rechtliches/rechtliches.aspx"><span class="auto-style1">
      Rechtliches</span></a> | <a href="../impressum/impressum.aspx">
      <span class="auto-style1">Impressum</span></a>&nbsp;
      |&nbsp;
      <asp:LoginStatus id="LoginStatus1" runat="server" />
      </p>
     </div>
     <!-- End Footer --></div>
    <!-- End Container -->

    </form>

    </body>

    <!-- #EndTemplate -->

    Sonntag, 31. Oktober 2010 12:57
  • Hi,

    ich muss dazu gestehen ich mache das mit expression web 4 und post mal den gesamten code

    Arrrgh. SqlDataSource Dingens, ist ja übel :)

    Grundproblem bei diesen Controls ist, dass man meist sehr schnell aufgeschmissen ist, wenn man irgendwas braucht, was vom Standard abweicht.

    In deinem Fall würde ich versuchen, einen weiteren ControlParameter einzubauen, der dann auf DropDownList1 zeigt.

      <asp:ControlParameter ControlID="DropDownList1" Name="download_cat_id1" PropertyName="SelectedValue" Type="Int32" />

    Das SQL Statement für SqlDataSource2 sollte man dann wie folgt ändern:

      SELECT ... FROM [tbl_www_download] WHERE ([download_cat_id] = @download_cat_id OR [download_cat_id] = @download_cat_id1)

    Noch so als Hinweis: Sinnvolle Namen für Variablen, Steuerelemente, ... sind meist sehr hilfreich und erhöhen die Übersichtlichkeit und verbessern damit auch die Effizienz.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert MCDPone Montag, 1. November 2010 19:20
    Sonntag, 31. Oktober 2010 13:17
    Moderator
  • Danke für die Antwort

    evtl. kannst du mir ein ganz anderen tipp geben

    ich mache sehr viel mit msaccess - mssql und baue mir meine dinge einfach so zusammen wie ich sie benötige weil ich es eben kann

    nur hier bin ich irgendwie total ratlos wie ich das thema asp anfasse ich komme da einfach lerntechnisch nicht weiter weil ich kein richtigen anfang finde

    ich weiss noch nicht einmal ob expression web für mich das richtige werkzeug ist oder visial studio 2010

    habe mir mal bucher über expression web gekauf aber leider sind die nicht sehr hilfreich

    ich suche irgenwie ein grundlegendes buch oder infos um selber entscheiden zu können wo fange ich am besten wie an

    ich habe zwar meine seite mist expression web zusammen geklickt mit login auf eigene mssql tabelle aber wenn ich in den code einer seite reinschaue weiss ich nicht wo ist html wo asp oder wie kann ich auf app.code zugreiffen wo muss ich dimensonieren wo kann ich mit vb arbeiten

    also wie du siehst wirwar in meinem kopf was mich echt nerft weil ich nicht wirklich für mich nicht weiter komme

    ich wäre jedem sehr dankbar wo ich eine start und entscheidungshilfe bekommen kann

    Sonntag, 31. Oktober 2010 17:17
  • ich weiss noch nicht einmal ob expression web für mich das richtige werkzeug ist oder visial studio 2010

    Das kommt drauf an :)

    Expression Web ist eher etwas für Leute, die weniger programmieren wollen, sondern Wert auf sauberen HTML/CSS Code legen aber denen auch "Klicki-Klacki Code" ausreicht (also das, was Du grade gemacht hast).

    Wenn Du mehr Einfluss auf den Code haben willst und nicht so viel mit "Blackbox Controls" wie SqlDataSource, ... arbeiten willst, wäre Visual Studio was für dich.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Sonntag, 31. Oktober 2010 17:41
    Moderator
  • SuperKlasse - hat zwar jetzt gedauert bis ich den zusammenhang begriffen habe - Danke Danke Danke
    Montag, 1. November 2010 19:20