none
Incluir 2 masks no mesmo textbox - Aspx C# RRS feed

  • Pergunta

  • Boa tarde!

    Estou iniciando em aspx C# e tenho muitas dúvidas ainda =(

    No caso criei um campo textbox, e procurei na net masks de CNPJ + CPF, e achei!!! =)

    porém aí vem as dúvidas, por exemplo dentro do .js que achei tem váárias functions

    ex:
    function formataCNPJ(campo, evt) { etc..

    e

    function formataCPF(campo, evt) { etc...

    Ok... criei classes para validar e ambos estao validando perfeitamente...porém as mascaras não estou conseguindo fazer funcionar... para chamar a mascara um por um eu consigo, ex: no meu textbox eu coloco -> onkeyup="formataCNPJ(this,event); e pronto tdo certo.

    Bom.. no meu caso eu criei 2 RadioBtn (Juridico e Fisico)....é assim por exemplo que escolho a classe de validação de ambos...

    Desde já agradeço a atenção de vcs..

    E caso queiram me deixar a dica: Como ficar atento as dúvidas dos companheiros no forum? tem algum método de receber por email? gostaria de poder ajudar tb =)

    segunda-feira, 21 de maio de 2012 16:24

Respostas

  • Opa Mr =)

    http://www.devmedia.com.br/mascara-em-asp-net-com-javascript/10252

    eu peguei deste link, estou mandando o link pq nao sei exatamente se o q eh importa eh o q esta dentro das functions ou nao =(

    Sorry pela demora, mais quando serviço aparece não se pode virar s costas =D

    Vamos la, Então Douglas eu tinha te solicitado o link para saber se os JavaScript eram apenas mascaras ou se alem de mascaras eles validavam CPF e CNPJ.

    No Caso eu acessei o link e percebi que apenas mascaras, então usei de um plugin que talvez facilite aplicação de mascara nos seus campos, segue abaixo exemplo completo funcionando, qualquer duvida é só perguntar:


    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript" src="http://cloud.github.com/downloads/digitalBush/jquery.maskedinput/jquery.maskedinput-1.3.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                //Aplicando mascara quando carrega o RadioButtonList
                $("[id*=txtPessoa]").mask($("[id*=rdlPessoa] input:checked").val() == "0" ? "999.999.999-99" : "99.999.999/9999-99");
    
                //Quando a pessoa alternar entra 'Pessoa Fisica' e 'Pessoa Juridica' dispara o evento change() e altera a mascara
                $("[id*=rdlPessoa] input").change(function () {
                    if ($("[id*=rdlPessoa] input:checked").val() == "0") {
                        $("[id*=txtPessoa]").val('');
                        $("[id*=txtPessoa]").mask("999.999.999-99");
                    } else {
                        $("[id*=txtPessoa]").val('');
                        $("[id*=txtPessoa]").mask("99.999.999/9999-99");
                    }
                });
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:RadioButtonList runat="server" ID="rdlPessoa">
                <asp:ListItem Value="0" Selected="True" Text="Pessoa Fisica" />
                <asp:ListItem Value="1" Text="Pessoa Juridica" />
            </asp:RadioButtonList>
            <br />
            Digite aqui:
            <asp:TextBox runat="server" ID="txtPessoa" />
        </div>
        </form>
    </body>
    </html>
    


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Marcado como Resposta Harley Araujo quarta-feira, 23 de maio de 2012 10:17
    terça-feira, 22 de maio de 2012 00:11

Todas as Respostas

  • Douglas teria como você postar estas mascaras de CPF e CNPJ ?

    Eu faço aqui um exemplo usando JQuery.

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    segunda-feira, 21 de maio de 2012 16:58
  • Opa Mr =)

    http://www.devmedia.com.br/mascara-em-asp-net-com-javascript/10252

    eu peguei deste link, estou mandando o link pq nao sei exatamente se o q eh importa eh o q esta dentro das functions ou nao =(

    segunda-feira, 21 de maio de 2012 17:12
  • Opa Mr =)

    http://www.devmedia.com.br/mascara-em-asp-net-com-javascript/10252

    eu peguei deste link, estou mandando o link pq nao sei exatamente se o q eh importa eh o q esta dentro das functions ou nao =(

    Sorry pela demora, mais quando serviço aparece não se pode virar s costas =D

    Vamos la, Então Douglas eu tinha te solicitado o link para saber se os JavaScript eram apenas mascaras ou se alem de mascaras eles validavam CPF e CNPJ.

    No Caso eu acessei o link e percebi que apenas mascaras, então usei de um plugin que talvez facilite aplicação de mascara nos seus campos, segue abaixo exemplo completo funcionando, qualquer duvida é só perguntar:


    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript" src="http://cloud.github.com/downloads/digitalBush/jquery.maskedinput/jquery.maskedinput-1.3.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                //Aplicando mascara quando carrega o RadioButtonList
                $("[id*=txtPessoa]").mask($("[id*=rdlPessoa] input:checked").val() == "0" ? "999.999.999-99" : "99.999.999/9999-99");
    
                //Quando a pessoa alternar entra 'Pessoa Fisica' e 'Pessoa Juridica' dispara o evento change() e altera a mascara
                $("[id*=rdlPessoa] input").change(function () {
                    if ($("[id*=rdlPessoa] input:checked").val() == "0") {
                        $("[id*=txtPessoa]").val('');
                        $("[id*=txtPessoa]").mask("999.999.999-99");
                    } else {
                        $("[id*=txtPessoa]").val('');
                        $("[id*=txtPessoa]").mask("99.999.999/9999-99");
                    }
                });
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:RadioButtonList runat="server" ID="rdlPessoa">
                <asp:ListItem Value="0" Selected="True" Text="Pessoa Fisica" />
                <asp:ListItem Value="1" Text="Pessoa Juridica" />
            </asp:RadioButtonList>
            <br />
            Digite aqui:
            <asp:TextBox runat="server" ID="txtPessoa" />
        </div>
        </form>
    </body>
    </html>
    


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    • Marcado como Resposta Harley Araujo quarta-feira, 23 de maio de 2012 10:17
    terça-feira, 22 de maio de 2012 00:11
  • Nossa cara... q mto legal isso hein =) 

    Vlw... mesmo.. cara q curso devo faze para entender melhor essas paradas? Pode me indicar?

    Abraço

    terça-feira, 22 de maio de 2012 13:59
  • Nossa cara... q mto legal isso hein =) 

    Vlw... mesmo.. cara q curso devo faze para entender melhor essas paradas? Pode me indicar?

    Abraço

    Eu não te recomendaria nenhum curso. Não que os cursos que existão são ruins, muito pelo contrario são ótimos, mais com esforço você aprende isso usando exemplos da internet mesmo, documentações e etc...

    Estude bastante JQuery, JavaScript, seletores CSS, CSS e principalmente conheça bem os elementos que você esta trabalhando (DOM HTML) exemplo:

    Um <asp:TextBox /> no final é renderizado para <input type="text" />

    É tudo questão de estudo, paciencia e muitos testes. errando que se aprende.

    Boa sorte

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    terça-feira, 22 de maio de 2012 14:13
  • Compre o livro 'JQuery EM AÇÃO' e seja feliz. Vai aprender isso aí e mto mais.

    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto

    terça-feira, 22 de maio de 2012 14:58
  • Ahh legal Rafael... mas por exemplo.. eu estava vendo Ajax.. Jquery.. tem alguma diferença tão grande assim?

     outra coisa..  por exemplo

    <script type="text/javascript"> $(document).ready(function () { //Aplicando mascara quando carrega o RadioButtonList $("[id*=txtPessoa]").mask($("[id*=rdlPessoa] input:checked").val() == "0" ? "999.999.999-99" : "99.999.999/9999-99"); //Quando a pessoa alternar entra 'Pessoa Fisica' e 'Pessoa Juridica' dispara o evento change() e altera a mascara $("[id*=rdlPessoa] input").change(function () { if ($("[id*=rdlPessoa] input:checked").val() == "0") { $("[id*=txtPessoa]").val(''); $("[id*=txtPessoa]").mask("999.999.999-99"); } else { $("[id*=txtPessoa]").val(''); $("[id*=txtPessoa]").mask("99.999.999/9999-99"); } }); }); </script>

    Eu poderia colocar isto em um .js e chama-lo? Por que por exemplo agora tenho que fazer uma pergunta ao usuário confirmando a exclusão de 1 item, aí terei que

    abrir outro <script> não sei nem se pode fazer isto, mas se puder ficaria bem desorganizado.. não acham?

    terça-feira, 22 de maio de 2012 15:45
  • Olá pessoal, tenho uma dúvida com relação a esse script.

    Meu text box esta contido dentro de uma gridview, porém o mesmo não funcionando, tem alguma coisa a ver?

    Grato pela a atenção

    terça-feira, 4 de junho de 2013 19:46
  • Prezado Wagner, você poderia postar o código para testarmos?
    terça-feira, 4 de junho de 2013 19:56
  • Olá Angelo.Net, estou postando meu código, possuo um RadioButtonList para selecionar P.F ou P.J, a partir daí seleciono o tipo de máscara do textBox txtNewRegistro (para inserção) ou txtRegistro (para edição) do mesmo, não sei se tem alguma coisa a ver o fato destes controles estarem contidos dentro da gridview.

    Desde já grato.

    Wagner Figueiredo

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
        <script type="text/javascript">
            $(document).ready(function () {
                //Aplicando mascara quando carrega o RadioButtonList
                $("[id*=txtNewRegistro]").mask($("[id*=rdlNewTipo] input:checked").val() == "0" ? "999.999.999-99" : "99.999.999/9999-99");
    
                //Quando a pessoa alternar entra 'Pessoa Fisica' e 'Pessoa Juridica' dispara o evento change() e altera a mascara
                $("[id*=rdlNewTipo] input").change(function () {
                    if ($("[id*=rdlNewTipo] input:checked").val() == "0") {
                        $("[id*=txtNewRegistro]").val('');
                        $("[id*=txtNewRegistro]").mask("999.999.999-99");
                    } else {
                        $("[id*=txtNewRegistro]").val('');
                        $("[id*=txtNewRegistro]").mask("99.999.999/9999-99");
                    }
                });
            });
        </script>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div style="margin-top: 70px">
            <asp:GridView ID="gdvClientes" runat="server" ShowFooter="true" AutoGenerateColumns="false"
                OnRowCancelingEdit="gdvClientes_RowCancelingEdit" DataKeyNames="id"
                OnRowCommand="gdvClientes_RowCommand" OnRowDeleting="gdvClientes_RowDeleting"
                OnRowEditing="gdvClientes_RowEditing" OnRowUpdating="gdvClientes_RowUpdating"
                AllowPaging="true" OnPageIndexChanging="gdvClientes_PageIndexChanging">
                <Columns>
                    <asp:TemplateField HeaderText="Código">
                        <EditItemTemplate>
                            <asp:Label ID="lblCod" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                        </EditItemTemplate>
                        <FooterTemplate>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblCodigo" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Tipo">
                        <EditItemTemplate>
                            <asp:RadioButtonList ID="rdlTipo" runat="server">
                                <asp:ListItem Text="P. Física" Value="0"></asp:ListItem>
                                <asp:ListItem Text="P. Jurídica" Value="1"></asp:ListItem>
                            </asp:RadioButtonList>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:RadioButtonList ID="rdlNewTipo" runat="server">
                                <asp:ListItem Text="P. Física" Value="0" Selected="True"></asp:ListItem>
                                <asp:ListItem Text="P. Jurídica" Value="1"></asp:ListItem>
                            </asp:RadioButtonList>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblTipo" runat="server" Text='<%# Bind("tipo") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Nome">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtNome" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewNome" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblNome" runat="server" Text='<%# Bind("nome") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Registro">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtRegistro" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewRegistro" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblRegistro" runat="server" Text='<%# Bind("registro") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField ShowHeader="false">
                        <EditItemTemplate></EditItemTemplate>
                        <FooterTemplate></FooterTemplate>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton6" runat="server"  CausesValidation="false" CommandName="enderecos" Text="Endereços" CommandArgument='<%# Bind("id") %>'></asp:LinkButton>                      
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Contato">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtContato" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewContato" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblContato" runat="server" Text='<%# Bind("contato") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="E-mail">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewEmail" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblEmail" runat="server" Text='<%# Bind("email") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Fone I">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtFoneI" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewFoneI" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblFoneI" runat="server" Text='<%# Bind("fone1") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Fone II">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtFoneII" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewFoneII" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblFoneII" runat="server" Text='<%# Bind("fone2") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Observação">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtObservacao" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewObservacao" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblObservacao" runat="server" Text='<%# Bind("observacao") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Ação" ShowHeader="False">
                        <EditItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                                Text="Update"></asp:LinkButton>
                            &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                                Text="Cancel"></asp:LinkButton>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Edit"
                                Text="Atualizar"></asp:LinkButton>
                            &nbsp;<asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False" CommandName="Delete"
                                Text="Deletar"></asp:LinkButton>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:LinkButton ID="LinkButton5" runat="server" CausesValidation="False" CommandName="Insert"
                                Text="Gravar"></asp:LinkButton>
                        </FooterTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </div>
    </asp:Content>

    quarta-feira, 5 de junho de 2013 13:47
  • Olá pessoal!

    Venho por meio desta dizer que consegui resolver meu problema com as mascaras no textbox, porém fiz com ajax, usando o controle MaskedEditExtender, pra que quiser utilizar, postarei meu código:

    clientes.aspx: (não esquecer de setar a propriedade autopostback como "true" do controle RadioButtonList)

    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div style="margin-top: 70px">
            <asp:GridView ID="gdvClientes" runat="server" ShowFooter="true" AutoGenerateColumns="false"
                OnRowCancelingEdit="gdvClientes_RowCancelingEdit" DataKeyNames="id"
                OnRowCommand="gdvClientes_RowCommand" OnRowDeleting="gdvClientes_RowDeleting"
                OnRowEditing="gdvClientes_RowEditing" OnRowUpdating="gdvClientes_RowUpdating"
                AllowPaging="true" OnPageIndexChanging="gdvClientes_PageIndexChanging">
                <Columns>
                    <asp:TemplateField HeaderText="Código">
                        <EditItemTemplate>
                            <asp:Label ID="lblCod" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                        </EditItemTemplate>
                        <FooterTemplate>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblCodigo" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Tipo">
                        <EditItemTemplate>
                            <asp:RadioButtonList ID="rdlTipo" runat="server">
                                <asp:ListItem Text="P. Física" Value="0"></asp:ListItem>
                                <asp:ListItem Text="P. Jurídica" Value="1"></asp:ListItem>
                            </asp:RadioButtonList>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:RadioButtonList ID="rdlNewTipo" runat="server" OnSelectedIndexChanged="rdlNewTipo_SelectedIndexChanged" AutoPostBack="true">
                                <asp:ListItem Text="P. Física" Value="0" Selected="True"></asp:ListItem>
                                <asp:ListItem Text="P. Jurídica" Value="1"></asp:ListItem>
                            </asp:RadioButtonList>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblTipo" runat="server" Text='<%# Bind("tipo") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Nome">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtNome" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewNome" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblNome" runat="server" Text='<%# Bind("nome") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Registro">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtRegistro" runat="server"></asp:TextBox>
                            <asp:MaskedEditExtender ID="maskRegistro" runat="server" TargetControlID="txtRegistro"></asp:MaskedEditExtender>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewRegistro" runat="server"  ></asp:TextBox>
                            <asp:MaskedEditExtender ID="maskNewRegistro" runat="server" TargetControlID="txtNewRegistro" ClearMaskOnLostFocus="False" InputDirection="RightToLeft"></asp:MaskedEditExtender>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblRegistro" runat="server" Text='<%# Bind("registro") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField ShowHeader="false">
                        <EditItemTemplate></EditItemTemplate>
                        <FooterTemplate></FooterTemplate>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton6" runat="server"  CausesValidation="false" CommandName="enderecos" Text="Endereços" CommandArgument='<%# Bind("id") %>'></asp:LinkButton>                      
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Contato">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtContato" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewContato" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblContato" runat="server" Text='<%# Bind("contato") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="E-mail">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewEmail" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblEmail" runat="server" Text='<%# Bind("email") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Fone I">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtFoneI" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewFoneI" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblFoneI" runat="server" Text='<%# Bind("fone1") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Fone II">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtFoneII" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewFoneII" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblFoneII" runat="server" Text='<%# Bind("fone2") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Observação">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtObservacao" runat="server"></asp:TextBox>
                        </EditItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtNewObservacao" runat="server"></asp:TextBox>
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblObservacao" runat="server" Text='<%# Bind("observacao") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Ação" ShowHeader="False">
                        <EditItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                                Text="Update"></asp:LinkButton>
                            &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                                Text="Cancel"></asp:LinkButton>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Edit"
                                Text="Atualizar"></asp:LinkButton>
                            &nbsp;<asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False" CommandName="Delete"
                                Text="Deletar"></asp:LinkButton>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:LinkButton ID="LinkButton5" runat="server" CausesValidation="False" CommandName="Insert"
                                Text="Gravar"></asp:LinkButton>
                        </FooterTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </div>
    </asp:Content>

    clientes.aspx.cs:

    //no pageload seta o tipo de mascara conforme a seleção do radionbuttonlist
    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    AtualizaGrid(gdvClientes, "clientes", 0);
                    MaskedEditExtender maskNewRegistro = (MaskedEditExtender)gdvClientes.FooterRow.FindControl("maskNewRegistro");
                    RadioButtonList rdlNewTipo = (RadioButtonList)gdvClientes.FooterRow.FindControl("rdlNewTipo");
                    if (rdlNewTipo.SelectedValue == "0")
                    {
                        maskNewRegistro.Mask = "999.999.999-99";
                    }
                    else if (rdlNewTipo.SelectedValue == "1")
                    {
                        maskNewRegistro.Mask = "99.999.999/9999-99";
                    }
                    else
                    {
                        maskNewRegistro.Mask = "";
                    }
                }
            }
    
    //depois no evento SelectedIndex do RadionButton faz com que o controle MaskedEditExtender mude o tipo de máscara
    protected void rdlNewTipo_SelectedIndexChanged(object sender, EventArgs e)
            {
                MaskedEditExtender maskNewRegistro = (MaskedEditExtender)gdvClientes.FooterRow.FindControl("maskNewRegistro");
                RadioButtonList rdlNewTipo = (RadioButtonList)gdvClientes.FooterRow.FindControl("rdlNewTipo");
                TextBox txtNewRegisto = (TextBox)gdvClientes.FooterRow.FindControl("txtNewRegistro");
                
                if (rdlNewTipo.SelectedValue == "0")
                {
                    maskNewRegistro.Mask = "999.999.999-99";
                }
                else if (rdlNewTipo.SelectedValue == "1")
                {
                    maskNewRegistro.Mask = "99.999.999/9999-99";
                }
                else
                {
                    maskNewRegistro.Mask = "";
                }
            }
    Espero ter ajudado


    Se não conseguir vencer pelo talento, vença pelo esforço!

    • Sugerido como Resposta Angelo.Net quarta-feira, 12 de junho de 2013 15:33
    quarta-feira, 5 de junho de 2013 15:18
  • O Visual Studio 2012 esta rejeitando o termo mask

    Opa Mr =)

    http://www.devmedia.com.br/mascara-em-asp-net-com-javascript/10252

    eu peguei deste link, estou mandando o link pq nao sei exatamente se o q eh importa eh o q esta dentro das functions ou nao =(

    Sorry pela demora, mais quando serviço aparece não se pode virar s costas =D

    Vamos la, Então Douglas eu tinha te solicitado o link para saber se os JavaScript eram apenas mascaras ou se alem de mascaras eles validavam CPF e CNPJ.

    No Caso eu acessei o link e percebi que apenas mascaras, então usei de um plugin que talvez facilite aplicação de mascara nos seus campos, segue abaixo exemplo completo funcionando, qualquer duvida é só perguntar:


    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript" src="http://cloud.github.com/downloads/digitalBush/jquery.maskedinput/jquery.maskedinput-1.3.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                //Aplicando mascara quando carrega o RadioButtonList
                $("[id*=txtPessoa]").mask($("[id*=rdlPessoa] input:checked").val() == "0" ? "999.999.999-99" : "99.999.999/9999-99");
    
                //Quando a pessoa alternar entra 'Pessoa Fisica' e 'Pessoa Juridica' dispara o evento change() e altera a mascara
                $("[id*=rdlPessoa] input").change(function () {
                    if ($("[id*=rdlPessoa] input:checked").val() == "0") {
                        $("[id*=txtPessoa]").val('');
                        $("[id*=txtPessoa]").mask("999.999.999-99");
                    } else {
                        $("[id*=txtPessoa]").val('');
                        $("[id*=txtPessoa]").mask("99.999.999/9999-99");
                    }
                });
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:RadioButtonList runat="server" ID="rdlPessoa">
                <asp:ListItem Value="0" Selected="True" Text="Pessoa Fisica" />
                <asp:ListItem Value="1" Text="Pessoa Juridica" />
            </asp:RadioButtonList>
            <br />
            Digite aqui:
            <asp:TextBox runat="server" ID="txtPessoa" />
        </div>
        </form>
    </body>
    </html>


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/


    sábado, 16 de novembro de 2013 23:32