Click here to Skip to main content
Click here to Skip to main content
Articles » Web Development » ASP.NET » General » Downloads
 
Add your own
alternative version

Declarative QueryString Parameter Binding

, 2 Mar 2004
Describes using reflection to automatically populate member parameters from the Form and Querystring.
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using piers7.Web.Controls;

namespace WebControlTestWeb
{
	/// <summary>
	/// Demonstrates the WebParameter declarative parameter binding system
	/// </summary>
	/// <remarks>
	/// To avoid namespace collisions between the names of the
	/// controls (which are then defacto the names
	/// of the control parameter values sent back on postback) and the names
	/// of the fields/properties we're using to store the values, some of the
	/// member names have been hacked a bit. This is more to do with my
	/// rather contrived demonstration than anything else.</remarks>
	public class WebParameterDemo : System.Web.UI.Page
	{
		[QueryParameter("txtFirstName")]
		public string FirstName		="field default";

		[QueryParameter("txtLastName", DefaultValue="attribute default")]
		public string LastName{
			get{	return (string)ViewState["LastName"];	}
			set{	ViewState["LastName"]=value;			}
		}

		[QueryParameter("txtCustomerID", DefaultValue="0")]
		public int CustomerID;

		protected System.Web.UI.HtmlControls.HtmlInputText txtFirstName;
		protected System.Web.UI.HtmlControls.HtmlInputText txtLastName;
		protected System.Web.UI.HtmlControls.HtmlInputText txtCustomerID;

		private void Page_Load(object sender, System.EventArgs e)
		{
			WebParameterAttribute.SetValues(this, Request);

			txtFirstName.Value	=FirstName;
			txtLastName.Value	=LastName;
			txtCustomerID.Value	=CustomerID.ToString();
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

Share

About the Author

piers7
Web Developer
Australia Australia
There's some kinda mutex between money and the time to enjoy it, and it's called work.

| Advertise | Privacy | Mobile
Web04 | 2.8.140821.2 | Last Updated 3 Mar 2004
Article Copyright 2004 by piers7
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid