miércoles, abril 20, 2011

Hacer post a una URL externa

En C# podemos utilizar el siguiente código para simular un post a una URL externa para, por ejemplo, saltarnos la página de login si conocemos los datos.


            string FormName = "loginForm";
            string Method = "post";
            string Url = "http://www.workshop-data.com/login.do";
 
            System.Web.HttpContext.Current.Response.Clear();
            System.Web.HttpContext.Current.Response.Write("");
            System.Web.HttpContext.Current.Response.Write(string.Format("", FormName));
            System.Web.HttpContext.Current.Response.Write(string.Format("", FormName, Method, Url));
            System.Web.HttpContext.Current.Response.Write(string.Format("""demouser""false"));
            System.Web.HttpContext.Current.Response.Write(string.Format("""username""xxx"));
            System.Web.HttpContext.Current.Response.Write(string.Format("""password""xxxxxx"));
            System.Web.HttpContext.Current.Response.Write("");
            System.Web.HttpContext.Current.Response.Write("");
            System.Web.HttpContext.Current.Response.End();
 
 
En este caso, estaríamos haciendo un post a www.workshop-data.com desde su pantalla de login pasándole un formulario con los datos pertinentes (usuario y password).

Para averiguar cómo se llama el formulario (en mi caso loginForm) y los campos, se puede utilizar Firebug (ver https://addons.mozilla.org/es-ES/firefox/addon/firebug/).

NOTA: Más info en http://www.c-sharpcorner.com/uploadfile/desaijm/asp.netposturl11282005005516am/asp.netposturl.aspx

viernes, abril 01, 2011

Aplicación web de datos dinámicos

Crear un mantenimiento simple a partir de un conjunto de tablas relacionadas de una base datos SQL es sencillo y rápido en ASP.Net. Pasos a seguir:

  1. Crear un nuevo proyecto de tipo Aplicación web de Linq to SQL (datos dinámicos ASP.NET).
  2. En la pestaña de Explorador de servidores añadir una conexión de datos a la B.DD que nos interesa.
  3. Añadir al proyecto un nuevo elemento de tipo Clases de LINQ to SQL.
  4. En el editor gráfico arrastrar desde la conexión de datos los objectos deseados.
  5. En el fichero Global.asax cambiar "YourDataContextType" por el nuevo tipo de contexto creado en el punto 3, y sustituir ScaffoldAllTables = false por ScaffoldAllTables = true.
... Y listo.

Muestra: