The simplest form of validation is a required field. La forma más simple de la validación es un campo requerido. If the user enters any value in a field, it is valid. Si el usuario no introduce ningún valor en un campo, es inválido. If all of the fields in the page are valid, the page is valid. Si cualquiera de los campos en la página son válidos, la página es válida. The following example illustrates this using the RequiredFieldValidator . El siguiente ejemplo ilustra este uso de la RequiredFieldValidator.
|
miércoles, 19 de diciembre de 2007
Tipos de controles de validación .NET 2
Exportar un Datagrid a Excel (ASP.NET)
Asís García Chao
El control DataGrid de ASP.NET es muy útil para realizar listados que se puedan consultar en la web. Este control es de uso muy sencillo y permite paginar los resultados, ordenarlos por cualquier columna o editar sus celdas.
Imaginémonos la siguiente situación: hemos creado un listado para una aplicación en una Intranet y lo mostramos en una página aspx utilizando un DataGrid. Supongamos ahora que nos interesa trabajar con ese listado manejándolo con Excel. Una manera sencilla de conseguirlo es la que se presenta a continuación:
Supongamos lo siguiente:
- El listado es generado por un control DataGrid llamado 'dataGrid' y se muestra en una página aspx
- Todos los controles adicionales (Connection, DataAdapter...) ya han sido añadidos y están correctamente "configurados" (es decir, tenemos un listado web completamente operativo)
En la misma página añadiremos un botón llamado 'verExcel' que exportará el listado a Excel.
El código del evento Page_Load podría ser similar al que se muestra:
|
Las dos últimas líneas de código son las que enlazan los datos de la consulta ejecutada por el DataAdapter (que serán los datos de nuestro listado) al DataGrid para mostrarlos en la página web.
Para exportar ese listado a Excel, lo único que necesitamos es cambiar el tipo MIME de la respuesta del servidor a "application/vnd.ms-excel". Cuando el navegador del cliente recibe la respuesta, si Excel está instalado, permite al usuario abrir directamente el fichero o guardarlo. El propio programa (Excel) se encarga de representar la tabla HTML que genera el DataGrid como una hoja Excel.
Lo que haremos será añadir código al evento de click del botón para cambiar el tipo MIME de la respuesta. Además, tendremos que controlar un par de cosillas para asegurar que todo funciona correctamente.
|
Unos comentarios acerca de este código:
En primer lugar, para evitar que el servidor comience a enviar datos al cliente antes de que se haya generado todo el contenido del DataGrid, utilizamos Response.Buffer = true para indicar al servidor que espere a que realicemos todo el procesamiento necesario. Cuando hemos terminado, con Response.End() indicamos que la respuesta ya se puede enviar.
En segundo lugar, desactivamos el view state, ya que no vamos a mostrar datos en un formulario HTML y no necesitamos mantener el estado en el que se encuentran los controles de la página. También desactivamos la capacidad de paginación y de ordenamiento. Hay dos razones para hacer esto.
1. Mostrar todo el listado en la hoja Excel, no sólo una página
2. Evitar problemas en tiempo de ejecución. Me explico: el control DataGrid genera, para los enlaces que permiten ordenar o paginar el listado, código HTML que necesita estar dentro de un Web Form ASP.NET (esto es, tiene que estar entre los tags <form id="miform" runat="server"> y </form>). Cuando mostramos el DataGrid en el navegador como HTML en una página web, no hay problema. Pero cuando nos quedamos tan sólo con el HTML generado por el control DataGrid, como sucede en este ejemplo, obtendremos un error al ejecutar el código anterior, ya que el HTML generado por el DataGrid no se encuentra en un Web Form.
En tercer lugar, para garantizar que el DataGrid genera HTML sin los problemas anteriores, volvemos a enlazar los datos (esto se debería cambiar, ya que ahora mismo estamos enlazando los datos dos veces: una al cargar la página -evento Page_Load- y otra al hacer click).
Por último, utilizando un HtmlTextWriter y un StringWriter extraemos el HTML que genera el DataGrid (usando dataGrid.RenderControl(hw) y lo escribimos en la respuesta.
Al ejecutar la página y pulsar sobre el botón, veremos un cuadro de diálogo en el que se nos informa de que nos vamos a descargar un fichero de tipo "Hoja de cálculo de Microsoft Excel" y se nos da la opción de abrirlo o guardarlo (según el navegador que estemos utilizando, la opción de abrir estará o no disponible). Si lo abrimos (sólo con el IE) veremos la hoja Excel embebida en el navegador. También podemos salvar la hoja a disco y abrirla con Excel.
Bueno, espero que haya quedado todo claro. Comentarios, dudas, críticas o sugerencias serán bienvenidos.
Autor: Asís García Chao
De donde es una dirección IP
Muchas veces nos preguntamos como saber de que lugar del mundo es una dirección IP, ese numerito bastante largo que identifica la dirección de un usuario o robot que visita internet y lo diferencia de otros.
Lo queremos saber cuando nos interesa por ejemplo desde donde, lugar del mundo, ubicación nos fue enviado un email, o donde esta ubicado un servidor o robots que visitan nuestra web.
Te preguntaras y para que sirve conocer la dirección IP, pues sencillo, solo por curiosidad, pero en otros casos es bastante útil sobre todo cuando se trata de visitas o email indeseables, los cuales se pueden banear o bloquear conociendo su dirección IP.
Bueno buscaba una heramienta de esas que me permitiera saber algo más allá de una indescifrable dirección IP y me encontre con esta pagina http://www.dnsstuff.com que tiene múltiples opciones, aviso que la web en cuestion esta en ingles, para quien no entienda mucho del idioma de Shakespeare, la caja de busqueda que sirve para buscar datos de una determina IP es la ultima caja de la columna llamada IP Tests alli debes copiar textualmente la dirección IP por ejemplo 220.181.19.162 luego haces click (pinchas) en lookup y voila te aparecera una nueva página que entre otros datos de dira la ciudad y el pais al que corresponde esa dirección, además desde que número hasta que número abarca las direcciones que pertenecen al mismo servidor de IP.
Diego R. Dessimoni
Analista de Sistema
http://diego-ruben-dessimoni.neurona.com
Administrar comillas utilizando el método Replace de la clase String
Contenido 1
Metodo Replace de la Clase String
string Replace(string aSustituir, string sustituta): Devuelve la cadena resultante de sustituir en la cadena sobre la que se aplica toda aparición de la cadena aSustituir indicada por la cadena sustituta especificada como segundo parámetro.
A continuación sigue código en C# (C Sharp):
public string QuitarApostrofe(string vCadena)
{
vCadena = vCadena.Replace("'", "''");
return vCadena;
}
public void e50factu()
{
//Cadena a la cual se le va a sustituir la comilla.
string MiCadena = QuitarApostrofe("WARNER'S DE MEXICO SA DE CV ");
//Abro la conexion
ConecServer.Open();
OleDbCommand mycmd = ConecServer.CreateCommand();
OleDbTransaction Trans;
Trans = ConecServer.BeginTransaction(IsolationLevel.ReadCommitted);
mycmd.Connection = ConecServer;
mycmd.Transaction = Trans;
try
{
strSQL = "INSERT INTO e50factu(serie50,numero50,descri50) " +
"VALUES ('" + clsVariables.vSerie + "'," + 20356 + ",'" + MiCadena + "')";
mycmd.CommandText = strSQL;
mycmd.ExecuteNonQuery();
strSQL = "INSERT INTO A50COTI(folio,factura,usuario,hora,serie)" +
"VALUES(" + 1 + "," + 20356 + "," + "evallejo" + ",'" + "12:00" + "','" + "B" + "')";
mycmd.CommandText = strSQL;
mycmd.ExecuteNonQuery();
Trans.Commit();
}
catch (System.Exception error)
{
try
{
Trans.Rollback();
MessageBox.Show("Ocurrio un error, no se realizo ningún cambio en la base de datos" +
error.Message,
"Guardar Factura", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (OleDbException ex)
{
if (Trans.Connection != null)
{
MessageBox.Show("Ha ocurrido una excepción grave de tipo " + ex.GetType());
}
}
}
finally
{
ConecServer.Close();
}
}