Dicas JavaScript e Servidor - Asp.NET

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Veja neste artigo algumas dicas em Asp.net.

Veja neste artigo uma sequência de dicas para ASP.NET falaremos sobre dicas de JavaScript e por último dicas de Servidor. Vamos iniciar então com o JavaScript.

Javascript

Listagem 1: Buscando Textboxs.


function getInputs(obj, array) {
    if (obj.childNodes != null) {
        for (var i = 0; i < obj.childNodes.length; i++) {
            var element = obj.childNodes[i];

            if (element.nodeName.toUpperCase() == 
               'INPUT' && element.type.toUpperCase() == 'TEXT') {
                array[array.length] = element;
            }
            else {
                getInputs(element, array);
            }
        }
    }
}

Listagem 2: Removendo os espaços em branco.


function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}

Listagem 3: Limpando os TextBoxs da página.


function limpar() {
    var array = [];
    var msg = '';

    getInputs(document, array);

    for (var i = 0; i < array.length; i++) {
        array[i].value = '';
    }

    array = null;
}

Listagem 4: Validando os TextBoxs da página.


function validar() {
    var array = [];
    var msg = '';

    getInputs(document, array);

    for (var i = 0; i < array.length; i++) {
        if (trim(array[i].value) == '') {
            msg += 'Campo ' + 
            array[i].attributes['description'].value + ' em branco!\n';
        }
    }

    array = null;

    if (msg != '') {
        alert(msg)
        return false;
    }
}

Servidor

Listagem 5: Limpando os Textboxs do lado do servidor.


public void Limpar(Control controlP)
{
    foreach (Control ctl in controlP.Controls)
    {
        if (ctl is TextBox)
        {
            ((TextBox)ctl).Text = String.Empty;
        }
        else if (ctl.Controls.Count > 0)
        {
            Limpar(ctl);
        }
    }
}

Listagem 6: Validando os Textboxs do lado do servidor.


public void Validar(Control controlP, StringBuilder oStringBuilder)
{
    foreach (Control ctl in controlP.Controls)
    {
        if (ctl is TextBox)
        {
            TextBox oTextBox = (TextBox)ctl;

            if (oTextBox.Text.Trim() == String.Empty)
            {
                oStringBuilder.Append("Campo " + 
               oTextBox.Attributes["description"] + " em branco!\\n");
            }
        }
        else if (ctl.Controls.Count > 0)
        {
            Validar(ctl, oStringBuilder);
        }
    }
}

Listagem 7: Adicionando um script na página.


ScriptManager.RegisterStartupScript(this, 
typeof(Page), "Mensagem", "alert('Hello World');", true);

Abaixo um exemplo onde podemos limpar e validar os textbox sem conhecer os ids dos componentes, utilizamos recursividade para encontrar os componentes, tanto do lado do servidor como do lado do cliente.

Nos componentes Textbox adicionei um novo atributo para colocar a descrição, utilizado para mostrar para o cliente qual campo está em branco.

Listagem 8: HTML da página.


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DicasAspNet.Default" %>





    


    

Listagem 9: Arquivo .CS da página.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;

namespace DicasAspNet
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Limpar(this);
        }

        protected void Button3_Click(object sender, EventArgs e)
        {
            StringBuilder oStringBuilder = new StringBuilder();

            Validar(this, oStringBuilder);

            if (oStringBuilder.ToString() != String.Empty)
            {
                ScriptManager.RegisterStartupScript(this, typeof(Page), "Validar", "alert('" + oStringBuilder.ToString() + "');", true);
            }
        }

        public void Limpar(Control controlP)
        {
            foreach (Control ctl in controlP.Controls)
            {
                if (ctl is TextBox)
                {
                    ((TextBox)ctl).Text = String.Empty;
                }
                else if (ctl.Controls.Count > 0)
                {
                    Limpar(ctl);
                }
            }
        }

        public void Validar(Control controlP, StringBuilder oStringBuilder)
        {
            foreach (Control ctl in controlP.Controls)
            {
                if (ctl is TextBox)
                {
                    TextBox oTextBox = (TextBox)ctl;

                    if (oTextBox.Text.Trim() == String.Empty)
                    {
                        oStringBuilder.Append("Campo " + oTextBox.Attributes["description"] + " em branco!\\n");
                    }
                }
                else if (ctl.Controls.Count > 0)
                {
                    Validar(ctl, oStringBuilder);
                }
            }
        }
    }
}
Layout do Exemplo

Figura 1. Layout do Exemplo

Até o próximo artigo.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?