Domanda

Aggiungo dinamicamente le righe a divStaff usando 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;            
    });

la riga che sto aggiungendo è all'interno del div nascosto con class = " .staff_tpl " Aggiungo il contenuto di questo div a divStaff

Quando invio la pagina (postback), il divStaff risultante è sempre vuoto se provo a visualizzarla in questo modo:

lblTest.Text = divStaff.innerHtml.ToString

fondamentalmente, sto manipolando un lato client div e voglio accedervi lato server tramite il code-behind della mia pagina aspx. Penso che qui manchi un principio di base.

È stato utile?

Soluzione

Non è possibile farlo.
Se si desidera accedere ai dati creati nella pagina, è necessario posizionarli all'interno dei campi di input (possibilmente nascosti) e accedervi dopo che sono stati pubblicati utilizzando Request.Form["MyHiddenFieldName"].
<div> non sono pubblicati sul server. runat="server" gli elementi sono codificati in ViewState (una grande stringa, davvero - puoi vederlo nella fonte della tua pagina), dando l'astrazione della continuità (o l'illusione di esso). Tuttavia, quella puntura non è a conoscenza delle modifiche apportate nel DOM.
Quando si tratta di <input> elementi, vedrai le ultime modifiche che hai apportato sul lato server , ma le modifiche sul lato client sono sparite.
Solo i valori <=> (e area di testo, opzioni, ecc.) vengono inviati al server al momento dell'invio, quindi la modifica di questi sul client verrà visualizzata sul server dopo che la pagina è stata pubblicata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top