Mostrar errores de las páginas de sharepoint

9 Octubre 2009 por chuletillas

Problema: Ocurre un error en mis páginas de Sharepoint, pero me sale la página de error genérica y no hay manera de saber de qué es.

Solución: Modificar el web.config del sitio y dejar las siguientes líneas así:

En la sección <System.web>:

<customErrors mode="Off"/>

Y luego buscar:

<SafeMode MaxControls=”200″ CallStack=”false”…

y poner

<SafeMode MaxControls=“200“ CallStack=”true”…

¿Cómo se hace la función trim en javascript?

7 Agosto 2009 por chuletillas

Problema: ¿Cómo puedo hacer la función trim en javascript?

Solución: Mediante una expresión regular sale:

function trim(str)
    {
        return str.replace(/^\s\s*/, ”).replace(/\s\s*$/, ”);
    }

Validar varias direcciones de correo por expresiones regulares

7 Agosto 2009 por chuletillas

Problema: Sé como validar una dirección de correo mediante javascript y expresiones regulares, pero no sé cómo hacerlo para permitir que se puedan introducir varias direcciones separadas por el caracter coma.

Solución: Esta expresión regular valida varias direcciones de correo separadas por coma o por punto y coma, y se permiten también espacios en blanco entre las direcciones de correo a ambos lados del separador (, ;)

var emailRegEx = /^(([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+)(([\s]*[;,]+[\s]*(([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+))*)$/;

Postbacks indeseados en Firefox con el control <button>

27 Julio 2009 por chuletillas

Problema: Estoy trabajando en una página asp.net, y cuando pongo un control HTML del tipo <button>, en el Explorer funciona como me espero que funcione, pero en el Firefox cada vez que le doy me causa un postback de la página

Solución: Basta con declarar el comportamiento del botón con el atributo “Type”. El problema surge al no incluir este atributo, ya que Firefox toma por defecto el valor “submit”, mientras explorer toma por defecto el valor “button”.

<button type=”button”></button>

Cómo se pasa un código de color en HTML a un objeto de .NET

14 Julio 2009 por chuletillas

Problema: Tengo un un código de color en HTML (Por ejemplo #E8E8F3 y quiero usarlo en .NET, pero no puedo usarlo directamente porque los colores en .NET tienen que ser de la clase System.Drawing.Color y no sé a qué color se corresponde.

Solución: Usar la siguiente función

System.Drawing.ColorTranslator.FromHtml("#E8E8F3")

Y si lo queremos a la inversa, esto nos convertiría un System.Drawing.Color en una cadena con el código HTML

System.Drawing.ColorTranslator.ToHtml(color);

No me funciona el Intellisense en visual studio 2008

3 Junio 2009 por chuletillas

Problema: No sé qué es lo que le he instalado al Visual Studio 2008, que desde hace unos días no me funciona el intellisense cuando trabajo con XAML (Ni con WPF ni con Silverlight)

Solución: Para ver si estamos hablando de lo mismo, comprueba en el registro (usando el regedit) si está vacía la entrada:

Para Windows de 32 bits:
HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32

Para Windows de 64 bits:
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32

Si la entrada (Default) está vacía entonces el problema se puede solucionar de la siguiente forma:

Abriendo una ventana de símbolo de sistema y escribiendo(cuidado que en vista habrá que estar como administrador)
Para Windows de 32 bits:
regsvr32 "%CommonProgramFiles%\Microsoft Shared\MSEnv\TextMgrP.dll"

Para Windows de 64 bits:
regsvr32 "%CommonProgramFiles(X86)%\Microsoft Shared\MSEnv\TextMgrP.dll"

Reinicia el Visual Studio y listo.

Solución tomada de aquí

Problemas con expresiones condicionales del tipo <condicion> ? expresion1 : expresion2

8 Abril 2009 por chuletillas

Problema: Tengo una expresión del tipo <condicion> ? expresion1 : expresion2 y al compilar me da el siguiente error: “Type of conditional expression cannot be determined because there is no implicit conversion between <tipo1> and <tipo2>

Solución: Este problema aparece porque las expresiones de este tipo solo pueden devolver un tipo, no dos. Al poner tipos diferentes como resultado de expresion1 y expresion2 el compilador nos daría ese error. Tenemos que decidir que tipo va a devolver la expresión y hacerle un casting a una de las dos expresiones. O si por un lado queremos devolver null y por otro un tipo primitivo (los cuales no pueden ser null) podemos usar los nullables. Ej:

string filtro;

(filtro.Equals(“todos”)) ? (bool?)null : false;

Cómo le doy formato a una cantidad en SQL Server?

2 Abril 2009 por chuletillas

Problema: Estoy haciendo un select en SQL Server, y quiero que lo que me devuelve la consulta me venga ya formateado (por ejemplo, redondeado con 2 decimales y los miles separados por comas)

Solución: Para los decimales podemos usar la funcion “cast”. Por ejemplo, haciendo cast de nuestro valor al tipo money conseguiremos el formato con 2 decimales:

CAST(@variable AS money)

Para darle un formato que nos separe la crifra por miles, podemos usar la función “convert”:

CONVERT(varchar, CAST(@variable AS money), 1)

Y finalmente un ejemplo usándolo todo junto para que devuelva una cadena de texto con la cantidad formateada y la moneda añadida:

CAST(CONVERT(varchar, CAST(@variable AS money), 1) AS varchar) + ‘Euros’

Más info sobre éstas funciones aquí

Cómo puedo en javascript obtener el contenido del atributo onclick en una cadena de texto?

30 Marzo 2009 por chuletillas

Problema: Quiero obtener el contenido del atributo onclick de un objeto javascript para manipularlo con las funciones de cadena, por lo que lo necesito como un objeto tipo string. Pero al obtenerlo mediante objeto.getAttribute(“onclick”) no me vuelve como una cadena de texto, ya que no puedo aplicar ningún método de cadena sobre lo que me devuelve.

Solución: Mediante getAttribute obtendremos lo que realmente hay en ese atributo, que seguramente será una función anónima. Si lo necesitamos como una cadena de texto, podemos hacer lo siguiente:

var obj = document.getElementById("objId"); 
var attributesArray = obj.attributes;
var contenido = attributesArray["onclick"].nodeValue;

Cómo reemplazo todas las apariciones de un carácter en una cadena de javascript?

30 Marzo 2009 por chuletillas

Problema: Quiero reemplazar todas las apariciones de un caracter o una cadena en un objeto string de javascript, pero al usar el método “replace” sólo me sustituye la primera ocurrencia, no los demás.

Solución: Tal y como funciona la función replace de javascript, solo sustituye la primera ocurrencia que se encuentra. Para sustituir todas podemos usar replace reiteradamente mediante un bucle for, o bien y más elegante, usar expresiones regulares. Por ejemplo:

micadena.replace( new RegExp(“[\’]”,”g”),”” )

Nos eliminaría todas las comillas simples que aparecieran en nuestra cadena.