• Andi
ZottelnetI like to move it, move it …
  • Andi
Menu
  • Andi
  • ASP.NET Zugriff auf ItemTemplate Inhalte

    7. Januar 2009 Andi 1

    C# und ASP.NET sind zwei schöne Sachen, die einem so manche nervigen Programmier-Alltäglichkeiten bei der Web-/Softwareentwicklung abnehmen. Allerdings stößt man oft auf Fälle, wo einfachste Dinge doch komplizierter sind als man denkt. Ein Punkt ist z.B. folgende Situation:

    Man hat ein GridView mit einigen BoundFiled Elementen, eine SqlDataSource und die netten erzeugten Update und Delete Funktionen des GridView. Soweit geht noch alles.

    Möchte man nun aber ein selbst erstelltes ItemTemplate verwenden, versagt die Automatik und man wundert sich, dass das Updaten der Zeile nicht mehr klappt. Nach langem probieren und googeln hab ich dafür eine Lösung gefunden. Um Zugriff auf Elemente innerhalb einer GridView-Zelle zu bekommen würde man sowas machen:

    TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("Id des verwendeten Controls");

    Jetzt könnte man das ganze mit vielen Zeilen C# Code manuell in die DB eintragen – oder sonst was damit tun. Viel schöner fände ich es aber, einfach weiter das SqlDataSource Control alles machen zu lassen. Um nun diese Info in das UPDATE SQL Statement zu bringen, fügen wir es einfach der SqlDataSource hinzu, etwa so:

    SqlDataSource1.UpdateParameters.Add("Name",txtName.Text);
    SqlDataSource1.UpdateParameters["Name"].DefaultValue = txtName.Text;

    Das DefaultValue setze ich zusätzlich, damit auch wirklich Daten drin sind – könnte man vlt auch weg lassen. Wichtig noch, bei den evtl automatisch von VisualStudio erzeugten  <UpdateParameters>(…)</UpdateParameters> den Parameter wieder zu entfernen, hier also Name.

    Damit hat die SqlDataSource wieder alle Daten und kann die Werte wieder korrekt in die DB speichern. Das „ganze“ Beispiel sähe dann so aus:

    <asp:GridView ID="GridView1" runat="server" OnRowUpdating="UpdateRow" (..) ></asp:GridView>
    
    protected void UpdateRow(object sender, GridViewUpdateEventArgs e)        
    {            
         TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("NameNew");
    
         SqlDataSource1.UpdateParameters.Add("Name",txtName.Text);            
         SqlDataSource1.UpdateParameters["Name"].DefaultValue = txtName.Text;
    }

    Categories: Coding

    Schlagwörter: asp, c#, gridview, itemtemplate, SqlDataSource

    …zu wenig Kaffee heute! Hollywood ruft!

    One thought on “ASP.NET Zugriff auf ItemTemplate Inhalte”

    • Schildkröte sagt:
      13. Januar 2009 um 18:11 Uhr

      Na alles klar – jetzt verstehe ich alles! 😉
      Ist das das, woran du am Sonntag so lang getüftelt hast?
      Wollte grad nen Jogurt essen, musste aber feststellen, dass er eingefroren ist, weil unser Kühlschrank zu kalt ist 🙁

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

About

profile for Andreas at Stack Overflow, Q&A for professional and enthusiast programmers

Schlagwörter

525 alternative api asp autoit c# cinema 4d code coffee css dateiname file flash glastisch google gridview html input interface itemtemplate javascript jäger kaffee kultivierter Tiefgang kurzfilm live mp3 msn musik polizei renamer rock sau scripting SqlDataSource strom suchmaschinen tesla texturen type unfall verrückt video wildsau yahoo

Recent Posts

  • Horde Kronolith Login Problem mit fcgi
  • CSS und <input type=“file“ />
  • Mit Strom spielt man nicht …
  • Where the rock never ends…
  • Live! und Yahoo habens, Google nicht!
  • Hollywood ruft!
  • ASP.NET Zugriff auf ItemTemplate Inhalte
  • …zu wenig Kaffee heute!
  • Das wohl geilste Rename Tool!
  • Flash über Flash

Tag Cloud

    525 alternative api asp autoit c# cinema 4d code coffee css dateiname file flash glastisch google gridview html input interface itemtemplate javascript jäger kaffee kultivierter Tiefgang kurzfilm live mp3 msn musik polizei renamer rock sau scripting SqlDataSource strom suchmaschinen tesla texturen type unfall verrückt video wildsau yahoo

Pages

  • Andi

Search

Copyright © 2013 Zottelnet Theme created by PWT. Powered by WordPress.org