none
[Dúvida] Validação dos dados RRS feed

  • Pergunta

  • Olá a todos.

    Estou com um problema, e não consegui chegar em uma solução aceitável.

    Estou desenvolvendo um site em Asp.Net, e em um ponto, preciso que imprima múltiplas abas, pertencentes a uma Guia, então fiz a seguinte função JavaScript:

    function ImprimirTela() {
                var pagRoot = "http://";
                pagRoot += document.domain;
                pagRoot += ":1915";
    
                var text = "<html runat='server'>\n<head>\n<title>Impressão Guia</title>\n";
                text += "<script src='" + pagRoot + "/js/jquery-1.4.2.js' type='text/javascript' language='javascript'><\/script>";
                text += "<link href='" + pagRoot + "/css/MPSGuiaNet.css' rel='stylesheet' type='text/css' />";
                text += "<meta http-equiv='Pragma' content='no-cache'>";
                text += "<meta http-equiv='Expires' content='-1'>";
                text += "<meta http-equiv='Cache-control' content='no-store'>";
                text += "</head>\n<body>\n";
                text += "<font size='1' face='arial'>\n";
                text += "<input type='button' value='Imprimir esta página' onclick='window.print();' style='float: right' />\n";
                text += "<table width='100%' style='float: left'>";
                text += "<tr>\n<td>"
                text += "<div id='situacao'>\n";
                text += $(".divSituacao").html();
                text += "</div>\n</td>\n</tr>\n</br>\n<tr>\n<td>\n<div id='dados'>\n";
                text += $(".divDadosBasicos").html();
                text += "</div>\n</td>\n</tr>\n</br>\n<tr>\n<td>\n<div id='hipoteses'>\n";
                text += $(".divHipotesesDiagnosticas").html();
                text += "</div>\n</td>\n</tr>\n</table>\n</font>\n";
                text += "<script>if (navigator.appName!='Microsoft Internet Explorer'){window.stop();}<\/script>";
                text += "</body>\n</html>";
    
                var newWindow = window.open('', 'Impressao', 'width=900,height=700,scrollbars=yes');
                newWindow.document.write(text);
            }

    Beleza, essa função cria um popup com os conteúdos das divs que eu quero, mas eu preciso me certificar que a guia esteja validada, ou seja, os dados a serem impressos são os mesmos que os dados no banco de dados. Ai que esta o meu problema, qual é a melhor forma de fazer essa validação?

    Pensei em algumas soluções:
    1) Criar uma variável bool que, toda vez que algum campo seja alterado, é alterado o status dela. Vai funcionar, mas achei que seria um xunxo lazarento de feio, em todos os campos adicionar um "onChange" chamando essa função.
    2) Comparar os dados da tela com os dados do banco de dados. Solução mais viável que eu encontrei, mas me deparei com alguns problemas:

    • Fazendo a comparação por C#, como chamar a função JavaScript depois?
    • Utilizando Ajax, como pegar os dados da tela?

    Enfim, estou precisando de ajuda nesse brainstorm. Não se apeguem as minhas "soluções", e toda idéia/critica construtiva é bem vinda.

    Flw vlw!

    quarta-feira, 14 de março de 2012 19:19

Respostas

  • Olá a todos.

    Estou com um problema, e não consegui chegar em uma solução aceitável.

    Estou desenvolvendo um site em Asp.Net, e em um ponto, preciso que imprima múltiplas abas, pertencentes a uma Guia, então fiz a seguinte função JavaScript:

    function ImprimirTela() {
                var pagRoot = "http://";
                pagRoot += document.domain;
                pagRoot += ":1915";
    
                var text = "<html runat='server'>\n<head>\n<title>Impressão Guia</title>\n";
                text += "<script src='" + pagRoot + "/js/jquery-1.4.2.js' type='text/javascript' language='javascript'><\/script>";
                text += "<link href='" + pagRoot + "/css/MPSGuiaNet.css' rel='stylesheet' type='text/css' />";
                text += "<meta http-equiv='Pragma' content='no-cache'>";
                text += "<meta http-equiv='Expires' content='-1'>";
                text += "<meta http-equiv='Cache-control' content='no-store'>";
                text += "</head>\n<body>\n";
                text += "<font size='1' face='arial'>\n";
                text += "<input type='button' value='Imprimir esta página' onclick='window.print();' style='float: right' />\n";
                text += "<table width='100%' style='float: left'>";
                text += "<tr>\n<td>"
                text += "<div id='situacao'>\n";
                text += $(".divSituacao").html();
                text += "</div>\n</td>\n</tr>\n</br>\n<tr>\n<td>\n<div id='dados'>\n";
                text += $(".divDadosBasicos").html();
                text += "</div>\n</td>\n</tr>\n</br>\n<tr>\n<td>\n<div id='hipoteses'>\n";
                text += $(".divHipotesesDiagnosticas").html();
                text += "</div>\n</td>\n</tr>\n</table>\n</font>\n";
                text += "<script>if (navigator.appName!='Microsoft Internet Explorer'){window.stop();}<\/script>";
                text += "</body>\n</html>";
    
                var newWindow = window.open('', 'Impressao', 'width=900,height=700,scrollbars=yes');
                newWindow.document.write(text);
            }

    Beleza, essa função cria um popup com os conteúdos das divs que eu quero, mas eu preciso me certificar que a guia esteja validada, ou seja, os dados a serem impressos são os mesmos que os dados no banco de dados. Ai que esta o meu problema, qual é a melhor forma de fazer essa validação?

    Pensei em algumas soluções:
    1) Criar uma variável bool que, toda vez que algum campo seja alterado, é alterado o status dela. Vai funcionar, mas achei que seria um xunxo lazarento de feio, em todos os campos adicionar um "onChange" chamando essa função.
    2) Comparar os dados da tela com os dados do banco de dados. Solução mais viável que eu encontrei, mas me deparei com alguns problemas:

    • Fazendo a comparação por C#, como chamar a função JavaScript depois?
    • Utilizando Ajax, como pegar os dados da tela?

    Enfim, estou precisando de ajuda nesse brainstorm. Não se apeguem as minhas "soluções", e toda idéia/critica construtiva é bem vinda.

    Flw vlw!

    olá para validar como o code vc pode fazer via json ou via pageMethods :)

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    • Marcado como Resposta Harley Araujo sexta-feira, 16 de março de 2012 10:56
    quinta-feira, 15 de março de 2012 12:07
    Moderador