我有一个大问题,我需要你的帮助。我正在尝试发送到url参数以生成带有winnovative库的pdf文件。当我第一次尝试时没有问题并生成pdf但是如果我想再次获得pdf这会给我带来错误,因为url中的参数被发送并且无法请求并且在最终分配生成pdf文件时会丢失。 我附上了审核代码:
public override void Pagina_PrimeraCarga(object sender, EventArgs e)
{
string datosRequest = Request.QueryString["DATOS"];
char delimitadores = ';';
string[] datos = datosRequest.Split(delimitadores);
imgBanco.Attributes.Add("ImageUrl", "~/App_Themes/Imagenes/Logo.gif");
System.DateTime fecha = new System.DateTime(2014, 12, 17);
lblDia.Text = Convert.ToString(fecha.Day);
lblMes.Text = Convert.ToString(fecha.Month);
lblAno.Text = Convert.ToString(fecha.Year);
string rutEmpresa = datos[3];
int rut = Convert.ToInt32(rutEmpresa);
string rutRes = rut.ToString("N0", CultureInfo.InvariantCulture).Replace(",", ".");
rutRes = rutRes + "-" + datos[4];
lblOficina.Text = "OFICINA: " + datos[0];
lblNombreTitular.Text = "NOMBRE TITULAR: " + datos[1];
lblRut.Text = "R.U.T.: " + rutRes;
lblDireccion.Text = "DIRECCION: " + datos[2];
lblFono.Text = "FONO: " + datos[5];
}
P.D:我为我的英语不好道歉,但我的母语是西班牙语
P.D.2:感谢在这种情况下可以帮助我的每个人
答案 0 :(得分:0)
我认为您的问题是在postBack之后您的查询字符串将为空。试试这个
添加隐藏字段
<asp:HiddenField runat="server" ID="hidden1" />
然后在你的pageLoad
中 if (!IsPostBack)
{
string datosRequest = Request.QueryString["DATOS"];
if(datosRequest != null)
{
//do something
hidden1.Value = datosRequest ;
}
}
else
{
datosRequest = hidden1.Value;
}
答案 1 :(得分:0)
我已经解决了这个问题。我想了一下,并检测到第二次传递时获取的pdf正在创建传递给另一个表单的cookie,因此没有传递数据。出于这个原因,我不得不添加2行,但我的代码用于关闭pdf此服务器删除cookie,当再次咨询时删除客户端:
Response.Cookies.Clear ();
myCookie.Expires = DateTime.Now.AddDays (1D);