Frage

ich dynamisch hinzufügen Zeilen divStaff mit Jquery:

$("span[id$='lblAddStaff']").click(function() {
        //$(".staff_tpl").find("input[id$='txtRate']").val("0,00");
        var staff_row = $(".staff_tpl");
        staff_row.find(".staff_row").attr("id", "Emp" + counter);
        $("div[id$='divStaff']").append(staff_row.html());
        counter += 1;            
    });

die Zeile, die ich hinzufüge, ist in der versteckten div mit class = „staff_tpl“ Ich hängen Sie den Inhalt dieses div divStaff

Wenn ich die Seite (Postbacks) einreichen, ist das resultierende divStaff immer leer, wenn ich versuche, es so angezeigt werden:

lblTest.Text = divStaff.innerHtml.ToString

Im Grunde bin ich Manipulieren eines div Client-Seite, und ich möchte es Server-Seite für den Zugriff über den Code-behind meiner aspx Seite. Ich glaube, ich bin hier ein Grundprinzip fehlt.

War es hilfreich?

Lösung

Das kann nicht durchgeführt werden.
Wenn Sie Daten zugreifen möchten Sie pn die Seite erstellt haben, müssen Sie es platzieren innerhalb Eingabefelder (möglicherweise versteckt) und darauf zugreifen, nachdem er mit Request.Form["MyHiddenFieldName"] gebucht wurde.
<div>s sind nicht an den Server gesendet. runat="server" Elemente sind in der Viewstate enechoded (eine große Zeichenfolge, wirklich - Sie können es in der Quelle Ihrer Seite sehen), die Abstraktion der Kontinuität zu geben (oder die Illusion davon). Das ist jedoch Stachel nicht bewusst Änderungen, die Sie im DOM machen.
Wenn mit runat="server" Elementen zu tun, werden Sie die letzten Änderungen sehen Sie gemacht haben auf der Server-Seite , aber Client-Seite Änderungen sind weg.
Nur <input> (und Textbereich, Option, usw.) Werte werden an den Server gesendet anschließend auf, so werden diese auf dem Server zu sehen, auf dem Client zu ändern, nachdem die Seite aufgerufen worden.

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