Array
(
)

Treeview passando Valor para outro WebForm

Paulo Freire
|
MVP
    09 jan 2014

Olá galera, me deu um branco agora e preciso de ajuda dos mestres.
Tem um Paginas chamada PopUp.aspx, onde preencho uma treeview com descricao e conta, e gostaria de escolha uma conta e preencher meu TtextBox no WebForm anterior, alguem tem uma luz sobre isso ?

Chiodini
   - 09 jan 2014

Paulo,
Se for uma aplicação ,
Acho interessante ao inves de usar um Pop up,
usar uma janelinha que abre de forma modal,
com ela você consegue adicionar um evento ao sair da janela,
aonde voce poderia preencher o seu txtBox sem problemas.

Caso você tenha essa funcionalidade na sua janela.
voce pode fazer isso..
Preencher na momento da saida da janela.

att,
Chiodini

Paulo Freire
|
MVP
    09 jan 2014

Boa Leandro, mas como e com que trabalharia CrossPagePostBack, Querystring, Server.Transfer ???

Chiodini
   - 09 jan 2014

Podes usar um JavaScript
no Changed do teu modal ou do teu popup.

#Código

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string strEvento = "ctl00_ContentPlaceHolder1_txtEvento";
        string strCodigo = "ctl00_ContentPlaceHolder1_txtCodigo";
        string jscript = "";
        string codigo = GridView1.SelectedRow.Cells[1].Text;
        string nome = GridView1.SelectedRow.Cells[2].Text;
        jscript += "<script language='JavaScript'>";
        jscript += "window.opener.document.forms[0]." + strCodigo+ ".value= '";
        jscript += codigo;
        jscript += "';";
        jscript += "window.opener.document.forms[0]." + strEvento +".value= '";
        jscript += nome;
        jscript += "';window.close();";
        jscript += "</script>";
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ModalEventos", jscript);


Voce pode ainda trabalhar com viewstate
e forçar o postback via javascript tambem ao sair do popup

veja se te ajudar.
att,
chiodini

Paulo Freire
|
MVP
    10 jan 2014

Puxa vida, não consegui Leandro, deixa eu lhe passa meu cenário.

Na pagina PopUpContas.aspx, tenho uma treeview

<asp:TreeView ID="tvContas" runat="server" ImageSet="Arrows"
OnSelectedNodeChanged="tvContas_SelectedNodeChanged">
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
<NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black"
HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" />
<ParentNodeStyle Font-Bold="False" />
<SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD"
HorizontalPadding="0px" VerticalPadding="0px" />
</asp:TreeView>

<asp:TextBox ID="TextBoxName" runat="server" Width="120px"></asp:TextBox>
<br />
<asp:Button ID="btnFechar" runat="server" OnClick="btnFechar_Click"
Text="Fechar" />

Meu behind-Code:

protected void tvContas_SelectedNodeChanged(object sender, EventArgs e)
{

TextBoxName.Text = tvContas.SelectedValue.ToString();
}

Porem, gostaria que o valor de TextBoxName.Text ou o valor de tvContas.SelectedValue.ToString(), fosse preenchido no webform, que chamou o PopUpContas.aspx, que é o RelatorioEntradaSaida.aspx.

Tentei usar seu código, porem ele fecha o PopUp, e não preenche, poderia me ajudar nisso.

Chiodini
   - 10 jan 2014

Quando tu sair do PopUp,
ele chama algum evento?

se sim,
da pra utilizar o
httpcontext.current.items.add("info")=1
para preencher o campo no onchanged

e depois para recuperado no evento que é chamado
se caso for chamado apos fechar o popup
assim
info=httpcontext.current.items("info")

att
Chiodini