Basically, cross-page posting means that you are posting form data to another page as opposed to posting form data back to the same page (as is the default in ASP.NET). This can be useful when you want to post data to another page and don't want to incur the overhead of reloading the current page simply to redirect the user to another page via an HTTP 302 (i.e. ).Response.Redirect
For a more information please see Cross-Page Posting in ASP.NET Web Pages:
By default, buttons and other controls that cause a postback on an ASP.NET Web page submit the page back to itself. This is part of the round-trip cycle that ASP.NET Web pages go through as part of their normal processing. For details, see Introduction to ASP.NET Web Pages.
Under some circumstances, you might want to post one page to another page. For example, you might be creating a multi-page form that collects different information on each page. In that case, you can configure certain controls (those that implement the IButtonControl interface, such as the Button control) on the page to post to a different target page. This is referred to as cross-page posting. Cross-page posting provides some advantages over using the Transfer method to redirect to another page. For details, see Redirecting Users to Another Page.
You could have a hidden text box on the form from the first page that each button sets a value in before posting to the second page. The second page could then evaluate the value of that hidden text box.
Edit: After re-reading your post, I think I misunderstood what you were attempting to accomplish. If you're simply trying to determine which button on the sending page was clicked, it could be done with the querystring:
Page1.aspx:
<asp:Button ID="Button1" Text="Button 1" PostBackUrl="~/Page2.aspx?button=1" runat="server" />
<asp:Button ID="Button2" Text="Button 2" PostBackUrl="~/Page2.aspx?button=2" runat="server" />
Page2.aspx.cs:
string sButton = "0";
if (Request.QueryString["button"] != null)
sButton = Request.QueryString["button"];
if (sButton == "1")
// Do button 1 stuff
else if (sButton == "2")
// Do button 2 stuff