in

@Prog! - ASP.NET(C#) AJAX -

ASP.NET(C#) 2.0 & ASP.NET Ajax (ATLAS) のメモ書き

Sys.Net.WebRequest を利用し他のページにPOSTする

最新の投稿は、投稿日時: 2006/11/11 5:47 投稿者: ASANO です。スレッドには 3 件の返答があります。
ページ 1 / 1 (4 アイテム)
投稿の並べ替え: 前へ 次へ
  • 2006/11/11 5:46

    Sys.Net.WebRequest を利用し他のページにPOSTする

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default14.aspx.cs" Inherits="Default14" %>

    <!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 runat="server">
        <title>Sys.Net.WebRequest を利用し他のページにPOSTする</title>
        <script type="text/javascript">
       
            function OnPostWebRequest()
            {
                var request = new SysNet.WebRequest();
                       
                request.setUrl(document.URL.substr(0, document.URL.lastIndexOf('/') + 1));
                request.setTargetPage("html/Default.aspx");
                request.setVerbs("POST");
                request.setTimeout(10000);
                request.setBody("Message=Hello World !!");
               
                request.postWebRequest();
            }
           
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
       
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
           
            StatusCode:<asp:Label ID="StatusCode" runat="server" Text=""></asp:Label>
            <br />
            StatusText:<asp:Label ID="StatusText" runat="server" Text=""></asp:Label>
            <br />
            Headers:<asp:Label ID="Headers" runat="server" Text=""></asp:Label>
            <br />
            Data:<asp:Label ID="Data" runat="server" Text=""></asp:Label>
            <br />
            <input id="Button1" type="button" value="button" onclick="OnPostWebRequest()" />
           
            <script type="text/javascript" src="script/SysNetWebRequest.js"></script>
           
        </form>
    </body>
    </html>

  • 2006/11/11 5:46 回答元:

    Re: Sys.Net.WebRequest を利用し他のページにPOSTする

    // SysNetWebRequest.js

    Type.registerNamespace("SysNet");

    SysNet.WebRequest = function() {
        this._webRequest =  new Sys.Net.WebRequest();
    }

    SysNet.WebRequest.prototype =
    {
        setUrl: function(url) {
            this._url = url;
        },
       
        setTargetPage: function(targetPage) {
            this._targetPage = targetPage;
        },
       
        setVerbs: function(verb) {
            this._verbs = verb;
        },
       
        setTimeout: function(timeout) {
            this._timeout = timeout;
        },
       
        setBody: function(body) {
            this._body = body;
        },
       
        postWebRequest: function()
        {
            this._webRequest.set_url(this._url + this._targetPage);
            this._webRequest.set_httpVerb(this._verbs);
            this._webRequest.set_timeout(this._timeout);
            this._webRequest.set_body(this._body);
            this._webRequest.get_headers()["Content-Length"] = this._body.length;
              
            this._webRequest.add_completed(this.On_WebRequestComplete);
              
            this._webRequest.invoke();
        },
       
        On_WebRequestComplete: function(executor, eventArgs)
        {
            if(executor.get_responseAvailable()) {
                $get("StatusCode").innerHTML = executor.get_statusCode();
                $get("StatusText").innerHTML = executor.get_statusText();
                $get("Headers").innerHTML = executor.getAllResponseHeaders();
                $get("Data").innerText = executor.get_responseData();
            }
            else {
                if (executor.get_timedOut())
                    alert("Timed Out");
                else
                    if (executor.get_aborted())
                        alert("Aborted");
            }
        }
    }

    SysNet.WebRequest.registerClass("SysNet.WebRequest");

  • 2006/11/11 5:47 回答元:

    Re: Sys.Net.WebRequest を利用し他のページにPOSTする

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="html_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 runat="server">
        <title>Sys.Net.WebRequest を利用し他のページにPOSTする</title>
    </head>
    <body>
        <form id="form1" runat="server">
       
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
       
        </form>
    </body>
    </html>

  • 2006/11/11 5:47 回答元:

    Re: Sys.Net.WebRequest を利用し他のページにPOSTする

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    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;

    public partial class html_Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.Request.Form["Message"] != null)
                Label1.Text = HttpContext.Current.Request.Form["Message"].ToString();
        }
    }

ページ 1 / 1 (4 アイテム)