Visual studio feeds

All Visual Studio blogs in one place

Subscribe

Enter your email address:

Delivered by FeedBurner

Increase your website traffic with Attracta.com

Google+

Contact

Email:
Subject:
Message:
Anti-spam: How many eyes has a typical person?

Follow us on FB

Search

Webforms: Forzar postbacks

AddThis Social Bookmark Button
Jejejee… Sí, aunque no lo parezca a veces hago temillas con Webforms, y es que uno tiene que conocer al enemigo! :P Lo que voy a comentar hoy, es como forzar un postback desde un control propio. Una búsqueda en google da varios resultados, pongo un par de ejemplo: http://tratadooscuro.blogspot.com.es/2009/02/dopostback-ese-gran-desconocido.html http://programacion.porexpertos.es/provocar-un-postback-desde-javascript-con-aspnet/ Ambos ejemplos dicen lo mismo pero lo cierto es que, en mi opinión, hay una manera ligeramente mejor que hacerlo, pero parece que se desconoce bastante porque buscando en google aparecen menos resultados. Bueno, si miráis los dos enlaces que he puesto arriba, forzar un postback desde un
control propio es tan simple como llamar a __doPostback. Este método lo añade automáticamente Webforms cuando lo necesita. Si seguimos las instrucciones de cualquiera de los dos enlaces anteriores, si queremos generar un control que sea p.ej. un enlace que al pulsarlo genere un postback vemos que debemos usar un código como este:
[DefaultProperty("Text")] [ToolboxData("<{0}:MyControl runat=server>")] public class MyControl : WebControl {     [Bindable(true)]     [Category("Appearance")]     [DefaultValue("")]     [Localizable(true)]     public string Text     {         get         {             String s = (String)ViewState["Text"];             return s ?? string.Empty;         }           set         {             ViewState["Text"] = value;         }     }       protected override void RenderContents(HtmlTextWriter output)     {         output.AddAttribute(HtmlTextWriterAttribute.Href,             "BLOCKED SCRIPT__doPostBack('','');");         output.RenderBeginTag(HtmlTextWriterTag.A);         output.Write(Text);         output.RenderEndTag();     } }
Si creamos una Webform vacío...(Read whole news on source site)

Home