Browse by Tags
All Tags »
ASP.NET 2.0 (
RSS)
Como dije en mi anterior post, estas 3 últimas semanas, he estado desplegando una solución bastante completa en un cliente y pensaba que no me iba a dar para escribir ningún post, pero olvidé hacer mención de la herramienta: Visual Studio® 2008 Web Deployment Projects – RTW Seguro que tienes aplicaciones Web con varios config y settings para entornos diferentes DEV, PRE, PRO y muchas veces tienes que estar cambiando a mano dichos configs, settings… con el consiguiente riesgo de pasar settings de DEV a PRE, PRE a PRO, etc… bueno, pues esta herramienta nos va a facilitar bastante la labor de los despligues, ya que dada una configuración que nosotros mismos podemos crearnos, nos...
Es una pregunta frecuente en los foros de la MSDN y que mejor manera de resolverla que con un ejemplo práctico. Lo primero que he hecho ha sido crearme una nueva clase a la que añadiré un Extension Methods para la clase Page y así poder utilizarlo como sí de un método más de la clase se tratara: Helper.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Text; /// <summary> /// Helper Class /// </summary> public static class Helper { /// <summary> /// Registers the redirect on session end script. /// </summary> /// <param name="page">The page.</param> public static void RegisterRedirectOnSessionEndScript...
Revisando unos WireFrames que se le han entregado al cliente y cuyos WebParts los estoy desarrollando yo, me he encontrado en unos de ellos que se quería mostrar una imagen en la celda de un SPGridView para que el usuario al situarse sobre ella le muestre un texto descriptivo que se carga de una propiedad. No tendría que haber ningún problema, usamos un ImageField y listo, no? pero: ¿Y sí necesitamos añadirle un ToolTip con el valor de otra propiedad del DataBinder? ¿Y sí además en el DataBinder no existe dicha imagen como enlace de datos? La solución: que tenemos que crearnos el nuestro propio. Así que vamos a ver como nos crearnos nuestro propio DataControlField....
CAT.NET es un Add-in para Visual Studio, qué también podemos utilizar a través de la línea de comandos, para analizar el código de nuestras aplicaciones y detectar vulnerabilidades ya conocidas como Cross Site Scripting, SQL Injection, Process Command Injection, File Canonicalization, Exception Information, LDAP Injection, XPATH Injection y Redirection to User Controlled Site. Lo he instalado y he decido probarlo con un mini-cutre web site: La página UserInfo.aspx es vulnerable a SQL Injection: protected void Page_Load( object sender, EventArgs e) { if (!Page.IsPostBack) { User user = new User(); string _userid = Request.QueryString[ "userid" ]; using (SqlConnection conexion = new SqlConnection...
Desarrollando unos WebPart para el proyecto en el que estoy actualmente, necesitaba añadir una propiedad a un WebPart para permitir sólo su visibilidad a ciertos perfiles. Estos perfiles los suministra una aplicación que se encarga de la seguridad de las aplicaciones. Para otros caso me vale una Enum como fuente de datos (Veáse Tipo de Objeto, Tipo de Barra…) pero para este caso no, así que tuve que crearme mi propio ToolPart como se muestra en la imagen: En concreto el desplegable en cuestión es el de Perfil Permitido. Para crearnos nuestro propio ToolPart, lo primero es crearnos una clase que herede de ToolPart ( Microsoft.SharePoint.WebPartPages.ToolPart ): public class ExtendedWorkLoadToolPart...
Mucho ha llovido desde mi último post, pero entre trabajo y la preparación de mi boda, no he tenido mucho tiempo libre. Hace un par de meses ayudando a un compañero con una aplicación web, tuve la necesidad de desplegar las dlls del ReportViewer en el hosting que habían contratado para que pudieran visualizar unos reports. Existe un paquete de distribución http://www.microsoft.com/downloads/details.aspx?FamilyID=8a166cac-758d-45c8-b637-dd7726e61367&DisplayLang=en , pero en nuestro caso no era nuestra opción, ya que el hosting era de terceros. Para quién no lo sepa, las librerías se pueden encontrar en C:\Program Files\Microsoft Visual Studio X.0\ReportViewer, pero una vez desplegado...
Vamos a ver como podemos integrar CRM en nuestras aplicaciones Web utilizando el SDK que nos brinda, que para este caso utilizaremos la fachada de Servicios Web, que en este caso son 2: Crm Web Service Metadata Web Service Nosotros vamos a trabajar con el primero, que nos pemite obtener entidades, crearlas, actualizarlas, borrarlas y realizar consultas XML, que esto lo veremos en otra ocasión. Lo primero que tenemos que saber es la URL del Web Service de CRM, algo como: http://servidor:puerto/mscrmservices/2006/crmservice.asmx y agregarla a nuestra aplicación. Una vez que pongamos la URL nos aparecerá la siguiente información: Como podemos observar, nos muestra los métodos que soporta y una pequeña descripción sobre los mismos. Añadimos finalmente...
Después de más de un mes sin publicar nada de nada debido sobre todo a mi cambio de trabajo y la adaptación a los nuevos proyectos, he decidido retomar la temática de escribir unos cuantos post y no dejar esto abandonado. Una de las cosas que echaba de menos del metro (Aunque eso no quita que lo odie) es el poder volver a leer libros y entre ellos encontré una Best Practice relacionada con los problemas de configuración que se dan en los servidores de producción, que a mas de uno le quitará dolores de cabeza y que yo creo que es 100% recomendable aplicarla en nuestros proyectos. Se trata de añadir al machine.config del servidor/es de producción la siguiente entrada: < configuration > < system.web > < deployment retail =” true...
Hoy me he encontrado esta cuestión en las NewsGroup de ASP.NET: Tengo un control de usuario MiControl1.ascx con un boton con este código: TextBox oTxt1 = (TextBox) this .Page.FindControl( "TextBox1" ); Asimismo hay 2 ASPXs: Pagina1.aspx que contiene el TextBox1 pero no tiene definida una MasterPage. Pagina2.aspx que contiene el TextBox1 pero ahora si tiene definida una MasterPage. Pagina1.aspx y Pagina2.aspx tienen MiControl1.ascx. Cuando Pagina1.aspx funciona OK. Pero cuando hago lo mismo en la Pagina2.aspx, FindControl() falla. Dónde está el problema y cómo lo soluciono? La verdad es que es una pregunta frecuente que suelo encontrarme y la solución está en la MSDN: FindControl searches the current naming container for the specified...
Como bien sabéis podemos acceder a los controles de nuestra Master Page por medio del método FindControl , pero esto nos obliga a hacer un casting del tipo de control que queremos acceder y a saber el ID del control. Imaginaros que tenemos un cliente que tiene 2 compañias, Compañía1 y Compañía2 y lo único que debe cambiar de nuestra página maestra es el Logo, dependiendo si el usuario pertenece a una o a otra. Entonces desde la página de inicio podríamos hacer: Image logo = (Image)Master.FindControl( "ImageLogoCorporativo" ); if (PerteneceCompania1(User.Identity.Name)) { logo.ImageUrl = "Compania1.gif" ; } else { logo.ImageUrl = "Compania2.gif" ; } El código es correcto pero el programador debe saber como se llama...
More Posts
Next page »