Mantener el valor de un TextBox en TextMode = Password c#, ASP.Net

He tenido la dificultad en Asp.Net, luego de recuperar la contraseña de base de datos y visualizarla en una caja de texto, la cual esta configurada en Modo TextMode Password, ésta no se pueda ver.

<asp:textbox id="txtClave" runat="server" textmode="Password"></asp:textbox>


Cuando el valor se asigna al control, éste no se puede ver y peor aun en el postback de la pagina, pierde el valor.

La solución consiste en asignar el valor que queremos que teme el control como un atributo. Si además queremos que la clave se mantenga entre Postbacks, bastará con que asignemos el valor cada vez que recarga la página:

protected void Page_Load(object sender, EventArgs e)
{
    txtClave.Attributes.Add("value", txtClave.Text);
}
Share:

Como usar los eventos onblur, onfocus, onchance, sobre un TextBox en ASP.Net

Hola como están, espero que bien, hoy quiero compartir un ejemplo muy sencillo de como usar los eventos onblur, onfocus, entre otros sobre un control Textbox en ASP.Net.

Primero creamos una pagina web con una caja de Texto:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Example.aspx.cs" Inherits="Example" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox Id="txtTexto" runat="server"></asp:TextBox>    
    </div>
    </form>
</body>
</html>


Seguidamente creamos un botón asp.net dentro de un <div> oculto así:

<div style="display: none;">
        <asp:button id="btnTextBox" runat="server" onclick="btnTextBox_Click">
</asp:button></div>


Quedando la pagina:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Example.aspx.cs" Inherits="Example" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox Id="txtTexto" runat="server"></asp:TextBox>   
    </div>
   
    <div style="display: none;">
        <asp:button id="btnTextBox" runat="server" onclick="btnTextBox_Click">
    </asp:button></div>
    </form>
</body>
</html>

Ahora en el evento Page_Load de la pagina agregar el atributo al cuadro de texto:

protected void Page_Load(object sender, EventArgs e)
    {
        txtTexto.Attributes.Add("onblur", this.Page.ClientScript.GetPostBackEventReference(this.btnTextBox, ""));
    }

Finalmente agregamos el código en el evento clic de nuestro botón oculto.

protected void btnTextBox_Click(object sender, EventArgs e)
    {
        //Coloque aquí su código para evento onblur
    }

"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""
Share:

Internet Explorer: Vista de Compatibilidad ASP.NET

Quiero compartir con ustedes un código que nos permite identificar mediante JavaScript la vista de compatibilidad de nuestro navegador Internet Explorer (IE) y ademas si estamos usando un navegador diferente. Lo anterior porque muchas veces los estilos de nuestros sitios no son compatibles y presentan alteraciones en la presentación de las paginas al usuario. Por lo tanto el siguiente ejemplo permite identificar en que entorno de navegador estamos y poder llegar a tomar alguna decisión al respecto:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_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 id="Head1" runat="server">
    <title></title>   
    <script type="text/javascript" language="javascript">
        function ValidarNavegador() {
            if (document.documentMode) {
                if (document.documentMode <=  7) {
                    alert("Estas en Internet Explorer con vista de compatibilidad.");
                    return;
                }
                alert("Esta es una versión de Internet Explorer sin vista de compatibilidad.");


            } else {
                alert("Esto no es Internet Explorer.");
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table id="Navegador" cellpadding="0" cellspacing="0" width="100%" >
        <tr>
            <td align="center">
                Consultar Compatibilidad del Navegador&nbsp;
                <br /><br />
                <asp:Button ID="BtNavegador" runat="server" OnClientClick="return ValidarNavegador();" Text="¿Qué Navegador?" />
            </td>
        </tr>
        </table>
       
    </div>
    </form>
</body>
</html>
Al ejecutar nuestro ejemplo podemos ver la compatibilidad para cada explorador:



La siguiente imagen sin vista de compatibilidad:





Finalmente la visualización diferente a Internet Explorer:


Este ejemplo nos permite conocer la vista compatibilidad de una pagina en Internet Explorer, pero también es importante poder cambiarla, esto lo podemos realizar a través del META X-UA-Compatible.

Si tienen alguna duda o ampliar la información me cuentan, hasta pronto.
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""


Share:

Exportar DataTable a CSV en C#

Anexo código que nos permite exportar un DataTable a un archivo plano con extensión CSV desde Visual studio C#

Para este ejemplo creamos un DataTable:

private DataTable TablaEnvioSms()
{
   DataTable dtSms = new DataTable();

   dtSms.Columns.Add("Fila", typeof(string));
   dtSms.Columns.Add("Nombres", typeof(string));
   dtSms.Columns.Add("Apellidos", typeof(string));
   dtSms.Columns.Add("Direccion", typeof(string));
   dtSms.Columns.Add("Telefono", typeof(string));
   return dtSms;
}

Este es el evento Click del boton (btnExportar) en la pagina aspx

protected void btnExportar_Click(object sender, EventArgs e)
    {
        DataTable dtSms = new DataTable();

        //Asignamos estructura del DataTable
        dtSms = TablaEnvioSms();
        DataRow newRow;

        //primera fila
        newRow = dtSms.NewRow();
        newRow["Fila"] = "1";
        newRow["Nombres"] = "Pedro Luis";
        newRow["Apellidos"] = "Ramirez Perez";
        newRow["Direccion"] = "Calle 1 No. 2 2";
        newRow["Telefono"] = "5555";
        dtSms.Rows.Add(newRow);

        //segunda fila
        newRow = dtSms.NewRow();
        newRow["Fila"] = "2";
        newRow["Nombres"] = "Maria tereza";
        newRow["Apellidos"] = "Ramirez Perez";
        newRow["Direccion"] = "Calle 1 No. 2 2";
        newRow["Telefono"] = "44444";
        dtSms.Rows.Add(newRow);
       

        //Realizamos el Llamado al metodo que exporta la estructura del DataTable.
        //Ademas recibe el nombre del archivo CSV y la ruta donde se almacenara.
        DataTableCSVFile(dtSms, "ExportarDatos.csv", "c://");

    }


Método que Exporta los datos y muestra el archivo para abrirlo.

public void DataTableCSVFile(DataTable dt,string sfilename, string strFilePath)
    {     
        StreamWriter sw = new StreamWriter(strFilePath + sfilename, false);
        int iColCount = dt.Columns.Count;

        // Escribiendo las Columnas del DataTable.
        for (int i = 0; i < iColCount; i++)
        {
            sw.Write(dt.Columns[i]);
            if (i < iColCount - 1)
            {
                sw.Write(",");
            }
        }

        sw.Write(sw.NewLine);

        // Escribiendo todas las Filas del DataTable.
        foreach (DataRow dr in dt.Rows)
        {
            for (int i = 0; i < iColCount; i++)
            {
                if (!Convert.IsDBNull(dr[i]))
                {
                    sw.Write(dr[i].ToString());
                }

                if (i < iColCount - 1)
                {
                    sw.Write(",");
                }
            }
            sw.Write(sw.NewLine);
        }
        sw.Close();

        Response.Clear();
        Response.ContentType = "application/csv";
        Response.AddHeader("Content-Disposition", "attachment; filename=" + sfilename);
        Response.WriteFile(strFilePath + sfilename);
        Response.Flush();
        Response.End();
    }

Exportar un Dataset a Excel desde c# es una funcionalidad muy interesante, los invito a consultarla.

Si tienen alguna duda o ampliar la información me cuentan, hasta pronto.
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""


Share:

Qué es AJAX?

AJAX, anteriormente llamado "Atlas", acrónimo de Asynchronous JavaScript y XML, que simplemente, es una manera o técnica de transferir datos entre el servidor y el cliente sin necesidad de enviar toda la página, y creando así una devolución de datos completa. Esto permite obtener una mejor experiencia para el usuario, ya que carga el contenido dinámico se puede hacer en un segundo plano, sin refrescante y redibujar toda la página.

Cuando se implementa AJAX en nuestros proyectos, obtenemos aplicaciones que funcionan mucho más rápido, ya que las interfaces de usuario se pueden actualizar por partes sin tener que actualizar toda la página. Por ejemplo, al diligenciar un formulario que se captura en un sitio web, con AJAX se puede actualizar solo la parte en la que se selecciona la ciudad de residencia sin tener que actualizar toda la página web completa.
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""


Share:

Solution for IE10 error: Sys.ArgumentOutOfRangeException: Value must be an integer asp.net

En un proyecto proyecto Asp.Net con controles AJAX (ModalPopup) en Internet Explorer 10 (IE10) se me presento la siguiente inconsistencia "Solution for IE10 error: Sys.ArgumentOutOfRangeException: Value must be an integer asp.net", la solución que se encontró es agregar la siguiente linea, ya sea en la Master.page del proyecto o en el encabezado de mi pagina .aspx.

<meta http-equiv="X-UA-Compatible" content="IE=9" />

La etiqueta meta X-UA-Compatible permite elegir qué versión de Internet Explorer la página se debe representar. Es utilizado por Internet Explorer 8 para especificar si una página se debe representar como IE 7 (vista de compatibilidad) o IE 8 (normas vista).

Las opciones que tiene para el contenido (content) son:
  • "IE=5" 
  • "IE=EmulateIE7" 
  • "IE=7" 
  • "IE=EmulateIE8" 
  • "IE=8" 
  • "IE=EmulateIE9" 
  • "IE=9" 
  • "IE=edge"

Se utiliza la etiqueta meta X-UA-Compatible en las páginas web donde se sospecha que Internet Explorer 10 intentará representar la página en una forma incorrecta.  Una forma de conocer bajo que modo de compatibilidad se ejecuta una pagina aspx en asp.net puede ayudarlos a solucionar muchos inconvenientes.
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""

Share:

Como Calcular de forma facil, la edad en años meses y dias en Sql

Una manera fácil y sencilla de obtener la edad de una persona en términos de Año, mes o día en Sql Server, se puede realizar a partir del siguiente ejemplo:

Declare @FechaNacimiento datetime
Set @FechaNacimiento = '05/16/2011'
Select Convert(Integer, Datediff(Day, @FechaNacimiento, Getdate())/365.25)EdadAños,
 Convert(Integer, Datediff(Day, @FechaNacimiento, Getdate())/30)EdadMeses,
 Convert(Integer, Datediff(Day, @FechaNacimiento, Getdate()))EdadDias 

El resultado de la ejecución anterior seria lo siguiente:


Analizando un poco el ejemplo anterior, lo que se hace es declarar una variable que almacena la fecha de nacimiento, luego ésta es pasada a cada una de las instrucciones Sql que consulta la edad en años, Meses y días.

Leer Mas:

Los invito ha consultar el código que nos permite obtener el tamaño de las tablas de una Base de datos Sql.
Share:

Consumir Web Service desde C# .Net

Para consumir un Web Service en Visual Studio debemos seguir los siguientes pasos, es muy importante para este ejemplo conocer como Crear Web Service con C# en Visual Studio. Para iniciar a Consumir un Web Service en C#, debemos seguir los siguientes pasos:

Abrimos Visual Studio, seleccionamos en menú File - New Web Site... como lo muestra la siguiente imagen:


Luego nos aparece la siguiente imagen, seleccionamos la ubicación del proyecto desde el botón Browser y damos clic sobre el boton OK:


Seguidamente se crea el proyecto solución como se muestra en la siguiente imagen:


Ahora, empezamos agregar la Referencia Web de nuestro Web Service que deseamos consumir. Primero damos clic derecho en nuestro proyecto y damos clic sobre Add Web Reference... 


Luego nos aparece la siguiente ventana, aquí nos permite colocar la Url del Web Service que deseamos consumir, en la opción URL y damos clic en el boton Go, como se muestra en la siguiente imagen:


Al dar clic en el botón Go, nos aparece un nombre de Web Service por default si es necesario lo cambiamos, para nuestro ejemplo colocamos WSSuma:


Hasta aquí tenemos agregado a nuestro proyecto web, el Web Service que creamos en una publicación anterior llamado Crear Web Service con C# en Visual Studio

Continuando con el ejemplo, el proyecto solución quedaría de la siguiente forma:


A continuación se muestra el código Html de la pagina default.aspx: 


Y el código C# de la pagina default.aspx.cs

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

public partial class _Default : System.Web.UI.Page 
{
    //Se instancia en variable local, referencia al web services

    WSSuma.Service wsWeb = new WSSuma.Service();

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnSumar_Click(object sender, EventArgs e)
    {
        /****************************************************************************************************
         * Parametrizar en BD la Url del WebServices ademas proxy y credenciales si las llegas a necesitar
         * 2.   Para nuestro ejemplo solo le vamos a pasar el Url del web services apuntando al servidor web
         *      donde se enceuntra alojado
         * 3.   Anexo codigo para credenciales y proxy
         * 
         *      System.Net.WebProxy proxy = new System.Net.WebProxy("IpProxy");
         *      proxy.Credentials = new System.Net.NetworkCredential("userProxy","passProxy","dominioProxy");
         ****************************************************************************************************/
        try
        {
            wsWeb.Url = "http://10.10.174.16/Appwebservices/service.asmx";
            //Se invoca metodo Suma, se pasan los valores A y B y el resultado se muestra
            lblSuma.Text = wsWeb.Suma(txtVA.Text.Trim(), txtVB.Text.Trim());
        }
        catch (Exception ex)
        {
            lblSuma.Text = ex.Message;
        }        
    }
}

En el código anterior la linea No. 11 (WSSuma.Service wsWeb = new WSSuma.Service();)donde se instancia el Web Service es muy importante ya que nos va ha permitir acceder a los métodos del Web Service.

Finalmente nuestro ejemplo ya en ejecución quedaría de la siguiente forma:

Consumir Web Service Visual Studio

Los invito a consultar como crear un Web Services con C# en Visual Studio.
Share:

Crear Web Service con C# en Visual Studio

A continuación vamos a ver la creación de un Web Services con C# en Visual Studio .Net, que tendrá un método llamado Suma. Para este ejemplo utilizamos Visual Studio .Net 2008 pero puede aplicar para .Net 2010. Primero creamos un nuevo proyecto en el menú File - New - Web Site..., como nos muestra la siguiente imagen:


Luego seleccionamos el tipo de proyecto que para nuestro ejemplo es Asp.NET Web Services, buscamos una ubicación para guárdalo con el botón Browse... y damos clic en el botón Ok.

New Web Service Visual Studio

Ya creado el proyecto, el explorador de soluciones nos muestra la siguiente estructura de archivos.

Solution Explorer

Código fuente C#

En el código de .Net, se crea automáticamente una estructura básica que podemos modificar de acuerdo a nuestras necesidades. El atributo [WebMethod] nos indica si el método creado sera expuesto como Web Service, permitiendo que pueda ser consumido por otras aplicaciones,esto lo podemos ver claramente en la siguiente imagen.


Para crear nuestro método Suma reemplazamos el método HelloWorld por el siguiente código:

//Creacion de Metodo Suma que tiene el web Services
    //Los metodos se identifican con 
    [WebMethod]
    public string Suma(string Valor1, string Valor2) {
        int nSuma = 0;
        try
        {
            nSuma = Convert.ToInt32(Valor1) + Convert.ToInt32(Valor2);
        }
        catch
        {
            return "Uno de los valores digitados es incorrecto, por favor verifique.";
        }
        return nSuma.ToString();
    }

Explicando un poco el código anterior, el método Suma recibe dos parámetros (para este ejemplo son string pero podrían ser enteros - int) y la suma de ellos es retornado como un string, si ocurre una excepción ésta es controlada a través de try...catch.
Cuando ejecutamos el código anterior la respuesta en el explorador de Internet aparece nuestro método Suma, luego al dar clic en él, nos solicita los dos parámetros que le declaramos.



Finalmente luego de digitar los valores y dar clic sobre el botón Invocar, el método retorna la siguiente respuesta en formato Xml.


Hasta aquí finalizamos la creación del nuestro Web Service. Los invito ha conocer como Consumir Web Service desde C# .Net

"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""

Share:

Conocer el tamaño de las tablas de una Base de Datos Sql

En ocasiones nos vemos en la necesidad de conocer el tamaño de las tablas de una base de datos Sql y saber cuales están ocupando mas espacio en ella, es de vital importancia para una buena administración de los datos y el servidor. Una opción es consultar las propiedades tabla por tabla pero esto puede llegar a hacer ineficiente cuando tenemos muchas tablas. Lo mejor es ejecutar el siguiente script en nuestra base de datos devolviendo ordenadamente que tabla tiene mayor tamaño por el numero de registros e indices que tiene.
Use BaseDatos
Go
SET NOCOUNT ON 

/************OBTENER EL TAMAÑO DE LAS TABLAS DE UNA BASE DE DATOS********/

/**********************************************************
 Corrige las filas, las páginas utilizadas, las páginas 
 reservadas, las páginas hoja y las páginas de datos de 
 cuenta para cada partición en una tabla o índice.
***********************************************************/
DBCC UPDATEUSAGE(0) 


create TABLE #TablesBD 
(
    [name] NVARCHAR(128),
    [rows] CHAR(11),
    reserved VARCHAR(18),
    data VARCHAR(18),
    index_size VARCHAR(18),
    unused VARCHAR(18)
)

INSERT #TablesBD EXEC sp_msForEachTable 'EXEC sp_spaceused ''?''' 

--CONSULTA EL RESULTADO ORDENANDO POR LA TABLA MAS PESADA
SELECT *
FROM   #TablesBD
ORDER BY convert(int, substring(data, 1, len(data)-3)) desc

Los invito a consultar como se calcula la edad en años, meses y días en Sql.

"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""

Share:

Parámetros OUTPUT en procedimientos almacenados

A continuación podemos ver un pequeño ejemplo en Sql Server de como crear un procedimiento almacenado (SP) con la declaración de parámetros entre estos uno de salida (Output), finalmente se muestra la ejecución del SP y retorna el resultado de la variable Output.

--Crear Procedimiento almacenado
create procedure spdeprueba
 @parametro1  int
 ,@parametro2 int
 ,@resultado  int output --variable de salida
As
begin
 set @respuesta = @parametro1 + @parametro2
end
go

--Ejecutar el procedimiento almacenado e imprimir la variable output
Declare @resultado int

Execute spdeprueba 1,2, @resultado output

Select @resultado
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""
Share:

Procedimiento almacenado programado en Job

Buscar en Sql Server un procedimiento almacenado que se encuentre programado en un JOB (dentro de sus pasos de ejecución) muchas veces puede llegar a ser necesario.

En el siguiente código Sql pueden ver como se puede obtener a partir del nombre o las iniciales de procedimiento almacenado el nombre, fecha de creación y modificación, ultima fecha de creación, entre otros.

Select sj.name,sj.description,sj.date_created,sj.date_modified,sjs.command,sjs.last_run_duration,sjs.last_run_date,last_run_time,
  sjsc.next_run_date,next_run_time
From msdb.dbo.sysjobs sj
 Inner join msdb.dbo.sysjobsteps sjs 
On sj.job_id = sjs.job_id
 Inner join msdb.dbo.sysjobschedules sjsc 
On sjs.job_id = sjsc.job_id
where sjs.command Like'%paDCProcesoDiario%'




Share:

Cómo agregar y leer cadena de conexión al archivo Web.config

En este artículo voy a mostrar cómo se agrega una cadena de conexión en el archivo web.config y recuperar la cadena de conexión en el código utilizando C#.

Primero se declara la llave de conexión dentro del tag AppSettings en el web.config, así:
<appSettings>
<add key="ConnectionStringKey" value="Data Source=DB Server IP;Integrated Security=False;Initial Catalog=DataBaseName;User ID=userId;Password=password;">
</appSettings>
Luego ya en el código (.cs) debemos agregar la referencia a System.Configuration, para tener los métodos necesarios para acceder a esta llave creada.

Para leer el valor de la llave o key, se puede realizar de la siguiente forma:
SqlConnection _cnn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionStringKey"].ToString());

Ahora dentro del tag connectionStrings que se encuentra en el archivo Web.config:

<connectionStrings><add name="ConnectionStringKey" connectionString="Data Source=DB ServerIP;Initial Catalog=DataBaseName;Integrated Security=True;User ID=userId;Password=password;" providerName="System.Data.SqlClient" /><connectionStrings/>


Finalmente para acceder al valor de la llave:
SqlConnection _cnn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringKey"].ToString());

Share:

Desactivar Cortar, Copiar y Pegar en Textbox Usando jQuery, JavaScript en Asp.Net

En este artículo voy a mostrar cómo se puede desactivar cortar, copiar y pegar en control cuadro de texto de asp.net con javascript o jQuery.

Aquí está el código por el cual podemos realizar esta funcionalidad.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Stylingfrorm.WebForm1" %>
<!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>Desactivar Cortar, Copiar y Pegar en Textbox Usando jQuery, JavaScript en Asp.Net</title>  </head>
<body >
    <form id="form1" runat="server">
    <div>
    <h3>Desactivar Cortar, Copiar y Pegar</h3><br />
    <asp:TextBox ID="TextBox1" runat="server" Width="300px"  oncopy="return false;" onpaste="return false;" oncut="return false;"></asp:TextBox>
    </div>
    </form>
</body>
</html>


"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""


Share:

Validar sólo números y letras con Javascript

En un post anterior mostramos la forma de Validar sólo números o letras con Javascript, en éste podemos ver ambas validaciones es acción, es decir como Validar solo números y letras en el mismo campo.

Esto lo podemos lograr a través del siguiente código JavaScript, mostrado a continuación:

Validar sólo números y letras
//Función que permite solo Números
function SoloNumeroLetras() {
    if ((event.keyCode < 48) || (event.keyCode > 57) && (event.keyCode < 65) || (event.keyCode > 90) && (event.keyCode < 97) || (event.keyCode > 122))
        event.returnValue = false;
}

Luego, para llamar la función en nuestra pagina web, solo basta con invocarlo en el evento onkeypress de la caja de texto así:
<input id="txAlfanumerico" name="txAlfanumerico" onkeypress="SoloNumeroLetras()" type="text" />

Si queremos que los códigos anteriores, no estén incluidos dentro de la pagina web, podemos crear un archivo .js llamado Validaciones.js, luego copiamos y pegamos el código anterior en este archivo, guardamos y finalmente agregamos la siguiente línea, arriba del tag </head> , de la pagina donde se desee llamar la función:
Ejemplo: "<script src="../Scripts/Validaciones.js" type="text/javascript"></script>"

También les puede interesar:
Espero los pueda ayudar, cualquier duda me escriben por este post o a mi  correo, hasta pronto.
Share:

Ranking Navegadores Web Mayo 2013

El ranking de los principales navegadores web en mayo destaca entre otras razones porque el producto de Google es la única opción de entre los primeros cinco navegadores, que ha perdido peso en el mercado. Este hecho contrasta con el constante crecimiento que Chrome había experimentado en los cuatro años que siguieron a su lanzamiento inicial.

Microsoft con Internet Explorer es junto a la Fundación Mozilla con Firefox, las opciones con mejor ratio de crecimiento en el último mes. Especialmente intenso parece el trabajo que desde el equipo de Firefox se está llevando a cabo con la intención de recuperar la posición perdida en los últimos tiempos. En este sentido destaca que el equipo de desarrollo de la Fundación Mozilla está trabajando gracias al proyecto Australis en el mayor rediseño de su navegador de los últimos tiempos que además sirva de base para futuros lanzamientos.

Alternativas más discretas en el mercado de escritorio como Safari y Opera también mejoran sus números en mayo aunque todavía muy lejos de IE, Chrome y Firefox.

No obstante lo anterior aunque entre los navegadores móviles, Safari continúa liderando por un amplio margen,  destaca que el navegador de Chrome crece más rápido que la segunda opción más importante de este mercado, el navegador de Android.

Google ha estado “apretando” a la versión móvil de Chrome  para mejorar su posición en los dispositivos con Android pre-instalado. Eso ha dado lugar a un movimiento ascendente constante de la cuota de mercado, con un importante crecimiento en el último mes y que puede suponer a futuro la llegada de una nueva alternativa cpaz de competir con Safari.

Ranking de Navegadores de Escritorio:

1.    Microsoft Internet Explorer: 55.99%
2.    Firefox: 20.63%
3.    Chrome: 15.74%
4.    Safari: 5.46%
5.    Opera: 1.77%

Ranking de Navegadores Móviles:

1.    Safari: 59.98%
2.    Android: 20.73%
3.    Opera Mini: 10.53%
4.    Chrome: 3.2%
5.    Internet Explorer: 1.97%

Ranking por Versiones en Navegadores de Escritorio:

1.    Internet Explorer 8: 22.99%
2.    Internet Explorer 9: 15.39%
3.    Firefox 20: 10.38%
4.    Chrome 26: 9.85%
5.    Internet Explorer 10: 9.262%
6.    Internet Explorer 6: 9.26%
7.    Firefox 21: 4.66%
8.    Chrome 27: 3.66
9.    Safari 6: 3.18%
10.   Internet Explorer 7: 1.78%
Share:

Formulario MDI Child C# en Visual Studio 2012

Los Formularios MDI son aquellos que nos permiten contener otros formularios dentro de ellos. A continuación vamos a trabajar un ejemplo en C# Visual Studio 2012, que cual tendrá un formulario principal - MDIParent , a éste se le debe establecer la propiedad IsMdiContainer en "true".


Luego nos creamos nuestro formulario Mdi, que para este ejercicio se llama Form1 - MdiChildren.




Para llamar nuestro formulario MdiChildren una sola vez, desde el formulario principal, podemos crear el siguiente método y llamarlo en el evento Click del menú, así:
private void CallFormMdi()
    {
        bool encontrado = false;
            foreach (Form form in this.MdiChildren)
            {
                if (form.Name.Equals("Form1"))
                {
                    encontrado = true;
                    form.Activate();
                }
            }

            if (!encontrado)
            {
                Form1 _frmGenerarArchivo = new Form1();
                _frmGenerarArchivo.MdiParent = this;
                _frmGenerarArchivo.Show();
            }
    }
 
private void OpenForm(object sender, EventArgs e)
{
 CallFormMdi();
}
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""

Share:

Parte II: Solo Letras C# - Windows Forms (Consola)

Por solicitud de algunas personas, donde necesitan realizar la validación de solo letras en C# no en un control Textbox sino que exista un método o función que reciba el parámetro del texto y retorne como resultado si los caracteres son o no letras. A continuación dejo para ustedes, código ejemplo completo realizado en Visual Studio.Net C# con un proyecto de tipo consola.


using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleSoloLetras
{
    class Program
    {
        static void Main(string[] args)
        {
            string sCaracteres = string.Empty;

            //Solicitar el dato
            Console.WriteLine("Escriba un texto a validar");
            sCaracteres = Console.ReadLine();

            //Llamar metodo que evalua los caracteres
            if (IsLetters(sCaracteres))
            {
                Console.WriteLine("Los caracteres son letras.");
            }
            else
            {
                Console.WriteLine("Solo se aceptan letras");
            }
            Console.ReadLine();
        }

        //Metodo que permite identificar si los caracteres son letras o no
        static bool IsLetters(string sCaracteres)
        {
            foreach (char ch in sCaracteres)
            {
                if (!Char.IsLetter(ch) && ch != 32)
                {
                    return false;
                }
            }
            return true;
        }
    }
}
Si tienen dudas o le fue de ayuda este ejemplo, por favor nos leemos en los comentarios, hasta pronto.
Share:

Función IsNumeric .Net C#

La funcion IsNumeric en C# nos permite evaluar si una expresión es numérica o no, esto lo podemos lograr a través del siguiente ejemplo:

public bool IsNumeric(object Expression)
{
      bool isNum;
      double retNum;

      isNum = Double.TryParse(Convert.ToString(Expression), 
System.Globalization.NumberStyles.Any,
System.Globalization.NumberFormatInfo.InvariantInfo, out  retNum);
return isNum;
}
Share:

Adicionar assembly que no existe - The type 'Global' is defined in an assembly that is not referenced


Compilation Error 

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0012: The type 'Global' is defined in an assembly that is not referenced. You must add a reference to assembly 'App_Code.77wcm7ag, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Source Error:

Line 83:     }
Line 84:     
Line 85:     protected ASP.global_asax ApplicationInstance {
Line 86:         get {
Line 87:             return ((ASP.global_asax)(this.Context.ApplicationInstance));

Source File: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\transaccional\e224545b\e01314f1\App_Web_movilidad.aspx.701f4c92.xzfw98jm.0.cs    Line: 85


Solución

Como nos damos cuenta, el error radica que el sitio hace referencia archivos temporales que se crean cuando se consume el mismo.
Para solucionarlo debemos reiniciar o detener el IIS y luego limpiar los archivos temporales que se encuentran en la ruta.

Me cuentan como les fue, hasta pronto.

Share: