Pregunta

Agrego dinámicamente filas 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 fila que estoy agregando está dentro del div oculto con class = " .staff_tpl " Anexo el contenido de este div a divStaff

Cuando envío la página (devolución de datos), el divStaff resultante siempre está vacío si intento mostrarlo así:

lblTest.Text = divStaff.innerHtml.ToString

básicamente, estoy manipulando un lado del cliente div, y quiero acceder al lado del servidor a través del código subyacente de mi página aspx. Creo que me falta un principio básico aquí.

¿Fue útil?

Solución

Esto no se puede hacer.
Si desea acceder a los datos que ha creado en la página, debe colocarlos dentro de los campos de entrada (posiblemente ocultos) y acceder a ellos después de que se hayan publicado usando Request.Form["MyHiddenFieldName"].
<div> s no se publican en el servidor. Los elementos runat="server" están encriptados en ViewState (una gran cadena, en realidad, puedes verlo en la fuente de tu página), dando la abstracción de la continuidad (o la ilusión de ella). Sin embargo, esa picadura no es consciente de los cambios que realiza en el DOM.
Cuando se trata de elementos <input>, verá los últimos cambios que ha realizado en el lado del servidor , pero los cambios en el lado del cliente han desaparecido.
Solo los valores de <=> (y área de texto, opción, etc.) se publican en el servidor en el envío, por lo que cambiarlos en el cliente se verá en el servidor, después de que se publique la página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top