Inspeksjon
Vi lager en enkel vevside med et tekstfelt, en knapp og et par placeholdere for å ha et sted å rapportere. Siden, Default.aspx, er slik:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server" method="post"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> <br /> <br /> <br /> <asp:Label ID="LabelHead" runat="server" Text="Header"></asp:Label> <br /> <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> <br /> <br /> <br /> <asp:Label ID="LabelVals" runat="server" Text="Content"></asp:Label> <br /> <asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder> </div> </form> </body> </html>
Du kan eksperimente med method-attributten i form-elementet til get eller post.
På tjenersiden plukker vi opp en postback slik:
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections.Specialized; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { // show headers dumpCollection(Request.Headers, PlaceHolder1); // show which method LabelVals.Text = Request.HttpMethod; if (Request.HttpMethod.ToLower().CompareTo("get") == 0) { // experiment with other collections dumpCollection(Request.Params, PlaceHolder2); } else if (Request.HttpMethod.ToLower().CompareTo("post") == 0) { // experiment with other collections dumpCollection(Request.Params, PlaceHolder2); } } } protected void dumpCollection(NameValueCollection coll, PlaceHolder place) { HtmlGenericControl tab = new HtmlGenericControl("table"); String[] keys = coll.AllKeys; String result = ""; for (int ix = 0; ix < keys.Length; ix++) { result += String.Format(@"<tr> <td valign=""top"">{0}</td> <td valign=""top"">{1}</td> </tr>", keys[ix], coll[keys[ix]]); } tab.InnerHtml = result; place.Controls.Add(tab); } protected void Button1_Click(object sender, EventArgs e) { // whatever you want to test } }
Du kan bruke dette eksemepelet som en testbenk for å test ut andre metoder i Request-objektet.