Pergunta

eu dinamicamente adicionar linhas 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;            
    });

a linha que eu estou adicionando está dentro do div escondida com class = "staff_tpl" I acrescentar o conteúdo deste div para divStaff

Quando eu enviar a página (postagem), o divStaff resultante é sempre esvaziar se eu tentar exibi-lo como este:

lblTest.Text = divStaff.innerHtml.ToString

Basicamente, eu estou manipulando um lado do cliente div, e eu quero acessá-lo do lado do servidor através do code-behind da minha página aspx. Eu acho que eu estou sentindo falta de um princípio básico aqui.

Foi útil?

Solução

Isto não pode ser feito.
Se você quiser acessar dados que você criou pn da página, você tem que colocá-lo dentro campos de entrada (possivelmente oculto), e acessá-lo depois que ele foi publicado usando Request.Form["MyHiddenFieldName"].
<div>s não são enviadas para o servidor. elementos runat="server" são enechoded no ViewState (a grande corda, realmente - você pode vê-lo na fonte de sua página), dando a abstração de continuidade (ou a ilusão dela). No entanto, isso sting não tem conhecimento de alterações feitas no DOM.
Ao lidar com elementos runat="server", você vai ver as últimas alterações feitas no lado do servidor , mas as mudanças do lado do cliente são ido.
Apenas <input> (e área de texto, opção, etc) valores são enviados para o servidor em enviar, assim que mudar estes no cliente será visto no servidor, depois que a página foi postada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top