Asp. NET post data and jump to the page
Last Update:2016-06-27
Source: Internet
Author: User
<span id="Label3"></p><p><p><span style="color: #ff0000; background-color: #ffffff;"><strong>requirement:</strong></span> Post submit data first, then jump to target page</p></p><p><p>Looking for a long time to discover this magical class <span style="color: #008000;"><strong>Httphelper</strong></span>. The principle is simple, using the HTML from form stitching, and then executing</p></p><p><p><strong>How to Use:</strong></p></p><pre><pre><span style="color: #0000ff;">New</span> <span style="color: #000000;">NameValueCollection (); Data. ADD (</span><span style="color: #800000;">"</span><span style="color: #800000;">v1</span><span style="color: #800000;"></span><span style="color: #800000;"></span>" "<span style="color: #800000;">val1</span><span style="color: #800000;"></span>"<span style="color: #000000;">); Data. ADD (</span><span style="color: #800000;">"</span><span style="color: #800000;">v2</span><span style="color: #800000;"></span><span style="color: #800000;"></span>" "<span style="color: #800000;">val2</span><span style="color: #800000;"></span>"<span style="color: #000000;">); Httphelper.redirectandpost (</span><span style="color: #0000ff;"></span>this<span style="color: #800000;">"</span><span style="color: #800000;">2.aspx</span><span style="color: #800000;">"</span>, data);</pre></pre><p><p></p></p><p><p><strong>Httphelper class:</strong></p></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">system.data;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">system.configuration;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">system.web;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System.Web.Security;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System.Web.UI;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System.Web.UI.WebControls;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System.Web.UI.WebControls.WebParts;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System.Web.UI.HtmlControls;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">system.net;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">System.Collections.Specialized;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">using</span></span><span style="color: #000000;"><span style="color: #000000;">system.text;</span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><summary></span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span><span style="color: #008000;"><span style="color: #008000;">Summary description for Httphelper</span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"></summary></span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><Author></span></span><span style="color: #008000;"><span style="color: #008000;">Samer Abu Rabie</span></span><span style="color: #808080;"><span style="color: #808080;"></Author></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span><span style="color: #000000;"><span style="color: #000000;">httphelper{</span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><summary></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span><span style="color: #008000;">this <span style="color: #008000;">method prepares a Html form which holds all data in hidden field in the Addetion to form submitting script. </span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"></summary></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><param name= "url" ></span></span><span style="color: #008000;"><span style="color: #008000;">the destination URL to which the post and redirection would occur, the URL can in the same App or ouside the app.</span></span><span style="color: #808080;"><span style="color: #808080;"></param></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><param name= "data" ></span></span><span style="color: #008000;">A collection of data that would be posted to the <span style="color: #008000;">destination Url.</span></span><span style="color: #808080;"><span style="color: #808080;"></param></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><returns></span></span><span style="color: #008000;"><span style="color: #008000;">Returns A string representation of the Posting form.</span></span><span style="color: #808080;"><span style="color: #808080;"></returns></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><Author></span></span><span style="color: #008000;"><span style="color: #008000;">Samer Abu Rabie</span></span><span style="color: #808080;"><span style="color: #808080;"></Author></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span>String Preparepostform (<span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span><span style="color: #000000;"><span style="color: #000000;">url, NameValueCollection Data) { </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Set a name</span> for the form</span> <span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>FormID =<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Postform</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Build the form using the specified data to be Posted.</span></span>StringBuilder Strform =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">StringBuilder (); Strform.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"><form id=\ "</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ FormID +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">\ "name=\"</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ FormID +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">\ "action=\"</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ URL +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">\ "method=\" post\ "></span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">foreach</span></span>(<span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>Key<span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span><span style="color: #000000;"><span style="color: #000000;">Data) {strform.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"><input type=\ "hidden\" name=\</span> "</span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ key +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">\ "value=\"</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ data[key] +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">\ "></span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); } strform.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"></form></span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Build the JavaScript which would do the Posting Operation.</span></span>StringBuilder Strscript =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">StringBuilder (); Strscript.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"><script language= ' JavaScript ' ></span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); Strscript.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">var v</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ FormID +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">= Document.</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ FormID +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">;</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); Strscript.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">v</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>+ FormID +<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">. Submit ();</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); Strscript.append (</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;"></script></span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Return the form and the script Concatenated. (the order is important, Form and then JavaScript)</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span>Strform.tostring () +<span style="color: #000000;"><span style="color: #000000;">strscript.tostring (); } </span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><summary></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span><span style="color: #008000;"><span style="color: #008000;">POST Data and Redirect to the specified URL using the specified page. </span></span><span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"></summary></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><param name= "page" ></span></span><span style="color: #008000;">The page which would be the <span style="color: #008000;">referrer Page.</span></span><span style="color: #808080;"><span style="color: #808080;"></param></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><param name= "destinationurl" ></span></span><span style="color: #008000;">the <span style="color: #008000;">destination URL to which the post and redirection is Occuring.</span></span><span style="color: #808080;"><span style="color: #808080;"></param></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><param name= "data" ></span></span><span style="color: #008000;">the <span style="color: #008000;">data should be Posted.</span></span><span style="color: #808080;"><span style="color: #808080;"></param></span></span> <span style="color: #808080;"><span style="color: #808080;">///</span></span> <span style="color: #808080;"><span style="color: #808080;"><Author></span></span><span style="color: #008000;"><span style="color: #008000;">Samer Abu Rabie</span></span><span style="color: #808080;"><span style="color: #808080;"></Author></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>Redirectandpost (page page,<span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span><span style="color: #000000;"><span style="color: #000000;">destinationurl, NameValueCollection Data) { </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Prepare the Posting form</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">string</span></span>Strform =<span style="color: #000000;"><span style="color: #000000;">Preparepostform (destinationurl, data); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Add a literal control the specified page holding the Post form, this was to submit the Posting form with the request. <!-- c0--></span></span>Page. Controls.Add (<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">LiteralControl (strform)); }}</span></span></pre><p><p></p></p><p><p>Asp. NET post data and jump to the page</p></p></span>