lunes, 22 de febrero de 2010

Abrir archivo en asp.net

Para devolver un archivo cualquiera en asp.net, primero se deben borrar los contenidos de cabeceras y contenido en general. Luego poner el tipo de contenido mime (text/html, text/plain, etc). Y luego simplemente escribir el archivo a la salida de la página:

dim fullPath as string = "C:\temp\a.xls"
Response.ClearHeaders()
Response.ClearContent()
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename)
Response.WriteFile(fullPath)
Response.Flush()
Response.End()

Como obtener el path temporal en .Net


Los directorios temporales son buenos para guardar registros simples durante la ejecución de un programa. Puede ser una operación de nuestro programa, como una descompresión o un archivo de salida que solo servirá por un tiempo y luego se podrá borrar.

La ubcación del archivo temporal variará de sistema operativo a otros, por eso usamos este pequeño código para obtener el path temporal.

string sDir = System.IO.Path.GetTempPath();

Console.WriteLine("Path temporario = " + sDir );


validar email con expresiones regulares

Para validar con javascript un mail mediante expresiones regulares tenemos que crear un patrón de la expresión y luego testearlo contra la cadena dada (que debe provenir del control que contiene la dirección de email):

function
validateEmail(elementValue){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
}

miércoles, 17 de febrero de 2010

Cannot create/shadow copy '#webname#' when that file already exists

Para corregir este error lo único que se puede hacer es un rebuild de todo el sitio, volver a cargar el sitio.
Si esto no funcionará tratar de nuevo, en general funciona correctamente.

Login failed for user 'user1'. The user is not associated with a trusted SQL Server connection

Este mensaje indica que SQL Server no permite el acceso a este usuario, porque está en modo de Autenticacion Windows, Hay que cambiar el modo a "mixto". Se hace de la siguiente manera:

  • Ir a propiedades del server
  • Ir a Seguridad
  • En la seccion Autenticación del Server hay que seleccionar "Modo de autenticacion de SQL Server y Windows" (que es el modo mixto que permite los dos modos)

Hacer invisible una tabla HTML

Hacer una funcion en javascript que haga lo siguiente y llamarla pasandole en checked true o false:
function hideOptions(var checked){

if(checked)
hide='none';
else
hide='';

var obj=document.getElementById('HTMLTableID');
obj.style.display = hide;
}

Como usar el ProfileCommon desde App_Code

Para usar el profileCommon desde una clase en app_code, que nos permite acceder a datos de usuarios, crearlos, etc, se puede acceder de esta manera:

ProfileCommon p = (ProfileCommon)ProfileBase.Create(tmp_username,true);

Este es un metodo estático, que crea una versión mas genérica del profile, profileBase, por eso hay que castearla a ProfileCommon.