<asp:PostBackTrigger ControlID="rpt"/> x <asp:AsyncPostBackTrigger ControlID="rpt"/>
Bom dia Pessoal. Ver se alguém pode me ajudar ou me dar uma luz com os problemas do Updatepanel referente a seguinte situação:
Quando o Triggers está definido com a linha abaixo do controle rpt dessa forma o devido botão chamado com o ID="btndownload" que esta dentro do RPT consegue efetuar o download de um arquivo e outro botão cujo ID="btnimg" não consegue abrir uma pagina.
<Triggers>
<asp:PostBackTrigger ControlID="rpt"/>
</Triggers>
Quando a linha abaixo do Triggers do controle rpt está definida dessa forma um botão chamado com o ID="btndownload" que esta dentro do RPT não consegue efetuar o download de um arquivo e outro botão cujo ID="btnimg" consegue abrir uma pagina.
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rpt"/>
</Triggers>
Pergunta: como contornar esse problema?
Em um momento eu quero abrir uma pagina e no outro momento eu quero efetuar o download, mas só funciona um ou outro.
Segue o código abaixo da pagina
Pagina ASP.NET
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel"
DisplayAfter="50">
<ProgressTemplate>
<div class="divfluante">
<asp:Image ID="spinner" ImageUrl="../img/carregandopagina.gif" runat="server" AlternateText="Carregando" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<br />
<asp:UpdatePanel ID="UpdatePanel" runat="server">
<ContentTemplate>
<asp:Repeater ID="rpt" runat="server" OnItemCommand="rpt_ItemComman">
<HeaderTemplate>
<asp:Label ID="Label69" runat="server" Font-Size="13" ForeColor="Black" Text="Relatorio de Exclusão"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<div style="font-family: Calibri; font-size: 14px; font-weight: normal; font-style: normal; color: #000000">
<div id="Linhagrossa">
</div>
<br />
OS FICHA <asp:Label ID="lblimg" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Qtd")%>' Visible="true"></asp:Label>
<asp:Label ID="lblmsgimg" runat="server" Font-Names="Calibri" Font-Size="11pt" Text=" IMAGEN(S)" Visible="true"></asp:Label>
<br />
<asp:ImageButton ID="btndownload" runat="server" CausesValidation="False" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"CodOs")%>' CommandName="Download" Height="32px" ImageUrl="~/img/btndownload.png" Text="Baixar" Width="32px" />
<asp:ImageButton ID="btnficha" runat="server" CausesValidation="False" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"CodOs")%>' CommandName="Downloadficha" Height="32px" ImageUrl="~/img/btndownload.png" Text="Baixar" Width="32px" />
<asp:ImageButton ID="btnimg" runat="server" CausesValidation="False" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"CodOs")%>' CommandName="Imagens" Height="32px" ImageUrl="~/img/btnimg.png" Text="Baixar" Visible="true" Width="32px" />
<br />
<asp:Label ID="Label70" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="OS:"></asp:Label>
<asp:Label ID="lblOs" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"CodOs")%>'></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="Funcionário:"></asp:Label>
<asp:Label ID="Label4" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Nome2")%>'></asp:Label>
<br />
<asp:Label ID="Label9" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="Solicitante:"></asp:Label>
<asp:Label ID="Label10" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Solicitanteficha")%>'></asp:Label>
<br />
<asp:Label ID="Label11" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="Deslocamento-Horas:"></asp:Label>
<asp:Label ID="Label12" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Horadesc")%>'></asp:Label>
<br />
<div id="Linhafina">
</div>
<asp:Label ID="Label71" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem, "CodeNome")%>'></asp:Label>
<br />
<asp:Label ID="Label14" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="Defeito:"></asp:Label>
<br />
<asp:Label ID="Label15" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Defeito")%>'></asp:Label>
<br />
<br />
<asp:Label ID="Label13" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="Procedimento-Telefônico:"></asp:Label>
<br />
<asp:Label ID="Label72" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Procedimento")%>'></asp:Label>
<br />
<br />
<asp:Label ID="Label16" runat="server" Font-Names="Calibri" Font-Size="11pt" Text="Procedimento-Presencial:"></asp:Label>
<br />
<asp:Label ID="Label17" runat="server" Font-Names="Calibri" Font-Size="11pt" Text='<%# DataBinder.Eval(Container.DataItem,"Procedimento2")%>'></asp:Label>
<br />
<br />
<br />
</div>
</ItemTemplate>
</asp:Repeater>
<br />
<br />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="rpt"/>
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
Codigo c#
protected void rpt_ItemComman(object source, RepeaterCommandEventArgs e)
{
try
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
switch (e.CommandName)
{
case "Download":
{
string Codos = ((Label)e.Item.FindControl("lblOs")).Text;
objfichatel = null;
objfichatelDAO = null;
objfichatel = new Cadfichatel();
objfichatelDAO = new CadfichatelDAO();
string sql = " where f.CodOs = '" + Codos + "' ";
objfichatel = objfichatelDAO.Obterfichaos(sql);
if (objfichatel.DataeHorafimOs != null)
{
if (objfichatel.DataeHorafimOs != "")
{
Gerarficha objgerarficha = new Gerarficha();
objgerarficha.gerarpdfos(Codos);
string caminhofichaos = @"C:\Arquivos\OS\";
string os = Codos + ".pdf";
if (File.Exists(caminhofichaos + Codos + ".pdf"))
{
Response.Clear();
//'Adiciona um cabeçalho que especifica o nome default para a caixa de diálogos Salvar Como...
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + os);
//'Adiciona ao cabeçalho o tamanho do arquivo para que o browser possa exibir o progresso do download
Response.Flush();
Response.WriteFile(caminhofichaos + os);
Response.Flush();
// Response.Redirect("/gerente/fichaatend.aspx",true);
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "Mensagem('ORDEM DE SERVIÇO NÃO PRESENCIAL. FAVOR GERAR A FICHA TÉCNICA!');", true);
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "Mensagem('ORDEM DE SERVIÇO NÃO PRESENCIAL. FAVOR GERAR A FICHA TÉCNICA!');", true);
}
}
break;
case "Downloadficha":
{
string Codos = ((Label)e.Item.FindControl("lblOs")).Text;
Gerarficha objgerarficha = new Gerarficha();
objgerarficha.gerarpdf(Codos);
string caminhofichaos = @"C:\Arquivos\FICHAOS\";
string ficha = Codos + ".pdf";
if (File.Exists(caminhofichaos + Codos + ".pdf"))
{
Response.Clear();
//'Adiciona um cabeçalho que especifica o nome default para a caixa de diálogos Salvar Como...
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + ficha);
//'Adiciona ao cabeçalho o tamanho do arquivo para que o browser possa exibir o progresso do download
Response.Flush();
Response.WriteFile(caminhofichaos + ficha);
Response.Flush();
//Response.Redirect(Page.Request.Path);
}
}
break;
case "Imagens":
{
string Qtd = ((Label)e.Item.FindControl("lblimg")).Text;
if (Qtd != "0")
{
objfichatel = null;
objfichatelDAO = null;
objfichatel = new Cadfichatel();
objfichatelDAO = new CadfichatelDAO();
string sql = " where f.CodOs = '" + ((ImageButton)e.Item.FindControl("btnimg")).CommandArgument + "' ";
objfichatel = objfichatelDAO.Obterfichaos(sql);
if (objfichatel != null)
{
if (objfichatel.CodOS != 0)
{
string var = objfichatel.CodOS + "-" + objfichatel.ClienteRaz + "-" + objfichatel.Aparficha;
btnexpandir_img_click(var);
}
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "Mensagem('ORDEM DE SERVIÇO SEM ANEXO!');", true);
}
}
break;
}
}
}
catch (Exception ex)
{
lblmsg.Text = ex.Message.ToString();
}
}
protected void btnexpandir_img_click(string variavel)
{
Session["codosimg"] = variavel;
StringBuilder sb = new StringBuilder();
sb.Append("window.open('relfichaexpanimg.aspx','NewWindow','left=50, top=10, status=yes, resizable=yes, scrollbars= yes, toolbar= no,location= no, menubar= no')");
ScriptManager.RegisterStartupScript(Page, typeof(Page), "dialog", sb.ToString(), true);
}Discussão (0)
Carregando comentários...