Categorias

Chamando função JavaScript através do CSharp

Quando faço meus códigos, eu tento ao máximo controla-los pelo C# e encontrei uma função que ajuda a manipular propriedades como “onclick” atraves do C#, sem precisar entrar no code do arquivo aspx.

Neste exemplo vamos supor que queremos selecionar um produto de um cliente atraves de outra tela e ao fechar esta tela filha o produto selecionado aparecerá no campo da tela pai.

//Estamos na Janela Filha

//Na sua PageLoad coloque assim
 protected void Page_Load(object sender, EventArgs e)
    {
        this.Button1.Attributes.Add("OnClick", "FecharTela(TxtProduto.value)");
    }
//Como diz no código vc está atribuindo ao Button1 a propriedade OnClick
//Chamando a function FecharJanela, levando o conteudo do campo TxtProduto

//Funcao JS na janela filha recebendo o campo e chamando a função FazerSelecao
// que existe na janela pai.

function FecharTela(ProprietarioSelecionado) {
        ww = window.open(window.location, "_self");
        opener.FazerSelecao('Produto', ProprietarioSelecionado);
        self.close();
        ww.close();
    }

//JANELA PAI

function FazerSelecao(Variavel,ItemSelecionado) {

        switch (Variavel) {
            case 'Proprietario':
                form1.TxtProprietario.value = ItemSelecionado;
                break;
            case 'Produto':
                form1.TxtProduto.value = ItemSelecionado;
                break;
        }
    }

//Desta forma a Janela pai receberá o produto selecionado em outra janela

Espero que gostem!!