1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

botão so chama a 2ª

Discussão em 'Web Development' iniciada por alfinete, 10 de Abril de 2008. (Respostas: 0; Visualizações: 480)

  1. alfinete

    alfinete Power Member

    c# asp.net

    tenho este metodo para criar uma grid e puxar os dados para a mesma

    Código:
    
     private string paginaDados(DataTable dt)
            {
    
                string str = "";
                string work = "";
                //DateTime data;
               //string wdata = "";
                Dados d = new Dados();
              
              foreach (DataRow dr in dt.Rows)
                {
    
                    work = "<tr>";
                    work += "<td class=\"tdr1\">";
                    work += "<span class=\"spantxt\">" + dr[4].ToString() + "</span></td>";
                    work += "<td class=\"tdr2\">";
                    work += "<span class=\"spantxt2\">"+dr[1].ToString() + "</span></td>";
                    d.num_cand(dr[1].ToString());
                    work += "<td class=\"tdr3\">";
                    work +=  "<span class=\"tamanhonome\">" + d.Nome + "</span></td>";
                    
                    work += "<td class=\"tdr4\">";
    
                    if (dr[11].ToString() != "")
                    {
                        work += "<span class=\"estad\">" + "T" + "</span></td>";
                       
                        work += "<td class=\"tdr5\">";
                        work += "<span class=\"spanbtntrata1\"><input id=\"p" + dr[0].ToString() + "\" class=\"btn_2\" type=\"submit\" value=\"Validar\" disabled =\"disabled\" onclick=\"return colocaid(this.id)\" /></span></td>";
                        work += "<td class=\"tdr6\">";
                        work += "<span class=\"spanbtntrata1\"><input name=\"btrec\" id=\"q" + dr[0].ToString() + "\" class=\"btn_2\" type=\"submit\" value=\"Recibo\" onclick=\"return colocaid2(this.id)\" /></span></td>";
    
                        work += "</tr>";
                     
                        
                        str += work;
                    }
                    else
                    {
                        work += "<span class=\"estad\">" + "&nbsp" + "</span></td>";
                        work += "<td class=\"tdr5\">";
                        work += "<span class=\"spanbtntrata1\"><input id=\"p" + dr[0].ToString() + "\" class=\"btn_2\" type=\"submit\" value=\"Validar\" onclick=\"return colocaid(this.id)\" /></span></td>";
                        work += "<td class=\"tdr6\">";
                        work += "<span class=\"spanbtntrata1\"><input name=\"btrec\" id=\"q" + dr[0].ToString() + "\" class=\"btn_2\" type=\"submit\" value=\"Recibo\" disabled =\"disabled\" onclick=\"return colocaid2(this.id)\" /></span></td>";
                        work += "</tr>";
                       
                        str += work;
                    }
                   
    
                }
                return str;
            }
    
    tenho esta var protected

    Código:
    protected string tiporelatorio;
    no page load tenho assim

    Código:
    protected void Page_Load(object sender, EventArgs e)
            {
                Dados d = new Dados();
                DataRow dr = null;
                //DataRow dr1;
            
               load_grid();
                
             
               //Session["User"] = "400282";
               
                
               
                if ((Session["User"] != null))
                {
                  
                   
                    string val2 = Request.Form["idp2"];
                 
    
              
                //    // valor do id do registo refente ao botão recibo escola
                    if (val2 != null)
                    {
                        if (val2 != "")
                        {
                            Session["idcand2"] = val2.Substring(1);
                            dr = d.dados_cand_id(Session["idcand2"].ToString());
    
                            Session["candidato"] = dr[1].ToString();
                            Session["idqzp"] = dr[4].ToString();
                            Session["idqzp2"] = dr[5].ToString();
                            tiporelatorio = dr[9].ToString(); 
    
    
                           // if (tiporelatorio == "1")
                           //  Response.Redirect("rec1ano.aspx");
                           //if (tiporelatorio == "2")
                           //   Response.Redirect("reclongapdf.aspx");
                    
                        }
                    }
    
                    d.validacaoSedeAutonoma(Session["User"].ToString());
                    num_escola = Session["User"].ToString();
                    nome_escola=d.Nome_escola;
                 
                }
    
    
               
            }
    
    
    

    codigo aspx

    Código:
    <%@ Page Language="C#" Theme="Base"  MasterPageFile="~/Base.Master" AutoEventWireup="true" CodeBehind="lista.aspx.cs" Inherits="Requisitos.lista" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="cph" runat="server">
    
       <script type="text/javascript">
        function colocaid(id)
        {
        document.getElementById('idp').value = id;
            
        }
       function colocaid2(id)
        {
       
          document.getElementById('idp2').value = id;  
        
              
            var tiporelatorio = '<%= tiporelatorio %>';
                
                if (tiporelatorio == '1')
                    window.open('rec1ano.aspx','_blank');
                if (tiporelatorio == '2')
                   window.open('reclongapdf.aspx','_blank');        
        
        }
        
        
      
      
        document.getElementById('content').style.height = '600px';
       
        </script>
    
        <fieldset>
            <legend  class="nomeEscola"><b>&nbsp;Lista de Candidatos da Escola <span class="azul"><%= nome_escola %>:- ( <% = num_escola %> ) </span>&nbsp;</b></legend>
     
            
            <div class="item_grid_paging">
                <%= tabela %>
            </div>
            <div class="mensagem_lista">
                <asp:Label ID="lbmsg" runat="server" CssClass="clblinfo1"></asp:Label>
            </div>
            
            
           
            <input id="idp2" name="idp2" type="hidden" />
      
       
       
    </fieldset> 
    
    
    
    
    </asp:Content>
    
    

    pucha o id regernte ao registo do botão clicado na grid

    Código:
    document.getElementById('idp2').value = id;  
    

    vai chamar o tipo de relatorio referente a var declarada no c#

    Código:
    if (tiporelatorio == '1')
                    window.open('rec1ano.aspx','_blank');
                if (tiporelatorio == '2')
                   window.open('reclongapdf.aspx','_blank');   
    

    o meu problema é que precisso de clicar 2 vezes no botão para mostrar o relatorio


    como poderei resolver este prob
     

Partilhar esta Página