none
NavigateUrl e querystring RRS feed

  • Pergunta

  • Estou com o seguinte problema.

    Quando feito o debug, nos primeiras linhas

     if (!string.IsNullOrEmpty(Request.QueryString[0]))
                {
                    schoolId = int.Parse(Request.QueryString[0]);
                }

    o if recebe a cadeia de strings para detalhar mas quando passa por ele a variável schoolID está ficando com dois valores ao invés de apenas um do índice [0].

    Essa variáveil está assumindo o valor das cadeias [0] e [1].

    Segue abaixo o código completo.

    using System;
    using System.IO;
    using System.Web;
    using CrystalDecisions.CrystalReports.Engine;
    using IB = IASD.ASCS.Bussiness;
    using B = IASD.ASCS.Business;
    
    namespace IASD.ASCS.WebForm.reports.closemonth.Report
    {
        public partial class Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                ReportDocument crReportDocument = new ReportDocument();
                dsClosemonth dsRelatorio = new dsClosemonth();            
                int schoolId = 0;
                string dataInicial = null;
                string dataFinal = null;           
                string schoolName = "";          
    
                if (!string.IsNullOrEmpty(Request.QueryString[0]))
                {
                    schoolId = int.Parse(Request.QueryString[0]);
                }
                if (!string.IsNullOrEmpty(Request.QueryString[1]))
                {
                    schoolName = Request.QueryString[1];
                }
                if (!string.IsNullOrEmpty(Request.QueryString[2]))
                {
                    dataInicial = Request.QueryString[2];
                }
                if (!string.IsNullOrEmpty(Request.QueryString[3]))
                {
                    dataFinal = Request.QueryString[3];
                }
                dsRelatorio.CloseCase.Merge(Bussiness.CloseCase.stCloseCaseAll(schoolId,schoolName, dataInicial, dataFinal));
    
                IB.Schools obj = IB.Schools.ListSchoolName(schoolId);
                crReportDocument.Load(Server.MapPath("crClosemonth.rpt"));
    
                crReportDocument.SetDataSource(dsRelatorio);
                crReportDocument.SetParameterValue("SchoolId", schoolId);
                crReportDocument.SetParameterValue("SchoolName",schoolName);
                crReportDocument.SetParameterValue("DataInicial", dataInicial);
                crReportDocument.SetParameterValue("DataFinal", dataFinal);
    
                //Utilizando exportação para pdf
                BinaryReader stream = new BinaryReader(crReportDocument.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat));
    
                HttpContext.Current.Response.ClearContent();
                HttpContext.Current.Response.ClearHeaders();
                HttpContext.Current.Response.ContentType = "application/pdf";
                HttpContext.Current.Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length)));
                HttpContext.Current.Response.Flush();
                HttpContext.Current.Response.Close();
            }
        }
    }

     protected void LoadNavigateUrl()
            {
                if ((!string.IsNullOrEmpty(ddlSchool.SelectedValue) && (!string.IsNullOrEmpty(txtDateInitial.Text)) &&
                     (!string.IsNullOrEmpty(txtDateEnd.Text))))
                {
    
                    hlPrint.Enabled = true;
                    hlPrint.Visible = true;
                    hlPrint.NavigateUrl = "/reports/closemonth/report/?SchoolID=" + ddlSchool.SelectedValue + "&SchoolName=" + ddlSchool.SelectedItem + "&InitialDate=" + txtDateInitial.Text + "&EndDate=" + txtDateEnd.Text;
    
                }
            }
    Obrigado.


    quinta-feira, 15 de maio de 2014 15:56

Respostas

  • Fiz um teste rapido aqui e está trazendo o indice certinho.

    Tente trocar o indice pelo nome do parametro para ver se resolve.

    Caso nada mudar, volte aqui e vamos tentar pensar em alguma coisa para resolver seu problema.

    Att.

    Rodolfo Oliveira

    • Marcado como Resposta Paulo Romeiro quinta-feira, 15 de maio de 2014 17:06
    • Não Marcado como Resposta Paulo Romeiro quinta-feira, 15 de maio de 2014 17:06
    • Marcado como Resposta Paulo Romeiro quinta-feira, 15 de maio de 2014 17:07
    quinta-feira, 15 de maio de 2014 16:36

Todas as Respostas

  • Boa tarde Paulo, poderia nos dar um exemplo da url que você está passando?

    Att.

    Rodolfo Oliveira

    quinta-feira, 15 de maio de 2014 16:05
  • http://localhost:5539/reports/closemonth/report/?SchoolID=4501&SchoolName=Col%E9gio%20Adventista%20de%20Registro&InitialDate=01/05/2014&EndDate=15/05/2014

    quinta-feira, 15 de maio de 2014 16:30
  • Meu ASP.NET: 

    <%@ Page Title="" Language="C#" MasterPageFile="~/FrontPage.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="IASD.ASCS.WebForm.reports.closemonth.Default" %>
    
    <%@ Register TagPrefix="cc1" Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit, Version=4.5.7.1005, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" %>
    
    <%@ MasterType VirtualPath="~/FrontPage.Master" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <div class="form_Close">
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <div class="linha">
                        <div class="texto">
                            <div class="control-group">
                                <asp:Label ID="lblSchoolID" runat="server" Text="Escola" Height="33px"></asp:Label>
                                <div class="controls">
                                    <asp:DropDownList ID="ddlSchool" CssClass="textbox_search" runat="server" Width="388px" Height="28px" AutoPostBack="True" />
                                </div>
                            </div>
                        </div>
                        <div class="field_button">
                            <div class="control-group">
                                <asp:Label ID="lblInitialDate" runat="server" Text="Data Inicial" Height="33px" />
                                <div class="controls">
                                    <asp:TextBox ID="txtDateInitial" runat="server" CssClass="textbox_search" Width="123px" OnTextChanged="txtDateInitial_TextChanged" AutoPostBack="True" />
                                    <cc1:CalendarExtender ID="txtDateInitial_CalendarExtender" runat="server" Enabled="True"
                                        Format="dd/MM/yyyy" TargetControlID="txtDateInitial">
                                    </cc1:CalendarExtender>
                                </div>
                            </div>
                        </div>
                        <div class="field_button">
                            <div class="control-group">
                                <asp:Label ID="lblEndDate" runat="server" Text="Data Final" Height="33px" />
                                <div class="controls">
                                    <asp:TextBox ID="txtDateEnd" runat="server" CssClass="textbox_search" Width="123px" OnTextChanged="txtDateEnd_TextChanged" AutoPostBack="True" />
                                    <cc1:CalendarExtender ID="txtDateEnd_CalendarExtender" runat="server" Enabled="True"
                                        Format="dd/MM/yyyy" TargetControlID="txtDateEnd">
                                    </cc1:CalendarExtender>
                                </div>
                            </div>
                        </div>
                        <div class="field_button">
                            <div class="control-group">
                                <div class="controls">
                                    <asp:HyperLink ID="hlPrint" runat="server" ImageUrl="~/Images/print.png" Target="_blank" Enabled="False" ToolTip="Imprimir">HyperLink</asp:HyperLink>
                                </div>
                            </div>
                        </div>
                       <%-- <div class="linha">
                       <asp:CustomValidator ID="cvlClose" runat="server" ErrorMessage="Selecionar todos os campos"></asp:CustomValidator>
                    
                        <asp:TextBox ID="txtMessage" runat="server" CssClass="textbox_Transparente" BorderColor="#F7F7F7" Font-Size="14pt" BackColor="#F7F7F7" Font-Italic="True"></asp:TextBox>
                    </div>--%>
                    </div>
                    <br />
    
                </ContentTemplate>
            </asp:UpdatePanel>
            <br />
            <asp:HiddenField ID="hfclosemonth" runat="server" />
        </div>
    </asp:Content>

    quinta-feira, 15 de maio de 2014 16:32
  • Fiz um teste rapido aqui e está trazendo o indice certinho.

    Tente trocar o indice pelo nome do parametro para ver se resolve.

    Caso nada mudar, volte aqui e vamos tentar pensar em alguma coisa para resolver seu problema.

    Att.

    Rodolfo Oliveira

    • Marcado como Resposta Paulo Romeiro quinta-feira, 15 de maio de 2014 17:06
    • Não Marcado como Resposta Paulo Romeiro quinta-feira, 15 de maio de 2014 17:06
    • Marcado como Resposta Paulo Romeiro quinta-feira, 15 de maio de 2014 17:07
    quinta-feira, 15 de maio de 2014 16:36