Request オブジェクトは主に、ユーザーが入力したデータ、クライアントに保存された Cookie など、クライアントからデータを取得するために使用されます。この記事では、Request オブジェクトに焦点を当て、その主な機能であるフォーム変数の読み取りと読み取りについて説明します。 Web サーバー上のシステム情報を取得するためのクエリ文字列。クライアントのブラウザ情報などを取得します。興味のある友人はそれについて学ぶことができます
前書き:
Request オブジェクトは主に、ユーザーが入力したデータ、クライアントに保存された Cookie など、クライアントからデータを取得するために使用されます。
1. Request オブジェクトの概要
1. 主な属性
ApplicationPath | サーバー上の asp.net ブラウザの仮想アプリケーション ルート パスを取得します。 |
ContentEncoding | |
を取得または設定します。この属性の値は文字セットです。 クライアントを表す Encoding オブジェクトです。 | ContentLength |
ContentType | |
Cookies | |
Current | |
現在のリクエストの仮想パスを取得します | FilePath |
Files | |
Form | |
HttpMethod | |
) | item |
Params | |
Path | |
PathInfo | |
PhysicalApplicationPath | |
PhysicalPath | |
QueryString | |
RequestType | |
ServerVariables | |
TotalBytes | |
Url | |
UserHostAddress | |
2. メインメソッド (1) MapPath (VirtualPath): 現在リクエストされている URL 内の仮想パス virtualPath をサーバー上の物理パスにマッピングします。パラメータ virtualPath は、現在のリクエストの仮想パスを指定します。これは、絶対パスまたは相対パスにすることができます。このメソッドの戻り値は、virtualPath で指定されたサーバーの物理パスです。 (2)名前を付けて保存 (ファイル名、ヘッダーを含む): http リクエストをディスクに保存します。パラメーター filename は物理ドライブのパスを指定し、 includeHeaders は HTTP ヘッダーをディスクに保存するかどうかを指定するブール値です。 2. Request オブジェクトの応用 1. フォーム変数を読み取る 4 つの方法(1)。Request.QueryString プロパティを使用して読み取ります。フォーム変数 (3)。Request.Params プロパティを使用してフォーム変数を読み取ります(4)。Request.Form プロパティを使用してフォーム変数を読み取ります 2.クエリ文字列変数を読み取ります Web を閲覧すると、ブラウザーのアドレス バーに「xxx.aspx?id=8018」などの URL が表示されることがよくあります。xxx.aspx は、アクセスしたい .aspx Web ページを表します。および疑問符 (?) に続く内容はクエリ文字列で、その機能は変数の名前と値をこの ASP.NET ファイルに転送して処理することです。クエリ文字列変数はいくつかの方法で生成できます。(1). HtmlForm コントロールの Method プロパティが get に設定されている場合、ユーザーが Web ページを送信すると、フォーム データがクエリ文字列変数として URL に添付され、サーバーに送信されます。 (2)。 タグまたは HyperLink コントロールを使用してハイパーテキスト リンクを作成する場合、クエリ文字列をターゲット URL の後に置き、疑問符「?」を使用します。 URL とクエリ文字列 (3)。Response.Redirect メソッドを呼び出すときに、URL パラメーターに変数名と値のペアがアタッチされている場合、これらの変数値は URL にアタッチされ、ターゲット時にサーバーに送信されます。ウェブページが開きます。(4). ブラウザのアドレスバーにリクエストURLを入力する際は、URLの後ろに疑問符「?」を入力してください。例: http://…/t.aspx?Id=8018 上記の状況では、クエリ文字列変数は Request.QueryString プロパティを通じて取得できます。 //在登陆页面 protected void Button1_Click(object sender, EventArgs e) { //登陆 //if (txtUserName.Text == "admin" && txtPwd.Text == "123") //{ // Session["Info"] = "随便一个值"; // Response.Redirect("Request2_test.aspx?Info=" + txtUserName.Text); //} //else //{ // Response.Redirect("Request2_test.aspx?error=登陆失败!"); //} /***********************************方法2****************************************/ //或者 if (txtUserName.Text == "admin" && txtPwd.Text == "123") { Response.Redirect("Request2_test.aspx?Info=" + txtUserName.Text + "&check=1"); } else { Response.Redirect("Request2_test.aspx?error=登陆失败!"); } } ログイン後にコピー コードは次のとおりです: protected void Page_Load(object sender, EventArgs e) { //验证页面 //if (Session["Info"] != null && Session["Info"].ToString() == "随便一个值") //{ // Response.Write("登陆成功!<br>" + Request.QueryString["Info"] + ",欢迎访问本站"); // //Response.Write("登陆成功!<br>" + Request["Info"] + ",欢迎访问本站"); // //Response.Write("登录成功!<br>"+Request.Form["username"]+",欢迎访问本站"); //} //else //{ // Response.Write("登陆失败"); //} /***************************************方法2**********************************/ if (Convert.ToInt32(Request["check"]) == 1) { Response.Write("登陆成功!<br>" + Request.QueryString["Info"] + ",欢迎访问本站"); } else { Response.Write("登陆失败"); } } ログイン後にコピー
ServerVariables コレクション オブジェクトに保存される共通情報変数は次のとおりです: 代码如下: Response.Write(Request.ServerVariables["LOCAL_ADDR"]);//远端服务器的地址 Response.Write("<br>"); Response.Write(Request.ServerVariables["Remote_ADDR"]);//浏览器所在主机的IP地址 Response.Write("<br>"); Response.Write(Request.Browser.Type.ToString());//浏览器的类型 Response.Write("<br>"); Response.Write(Request.Browser.Platform.ToString());//浏览器所在的平台 Response.Write("<br>"); Response.Write(Request.ServerVariables["url"]); ログイン後にコピー 4.取得客户端浏览器信息 通过Request对象的Browser属性得到。需要利用Browser属性生成一个HttpBrowserCapabilities类型的对象实例。HttpBrowserCapabilities类具有的常用属性如下: 代码如下: Response.Write("浏览器的类型是:" + Request.Browser.Browser.ToString()+"<br>"); Response.Write("浏览器的版本是:" + Request.Browser.Version.ToString()+"<br>"); Response.Write("浏览器的所在平台是:" + Request.Browser.Platform.ToString()+"<br>"); Response.Write("浏览器是否支持框架:" + Request.Browser.Frames.ToString()+"<br>"); Response.Write("浏览器是否支持Cookies:" + Request.Browser.Cookies.ToString()+"<br>"); Response.Write("浏览器是否支持Javascript:" + Request.Browser.JavaScript.ToString()+"<br>"); ログイン後にコピー 5.读取客户端Cookie Cookies集合是由一些Cookie对象组成的。Cookie对象的类名为HttpCookie。HttpCookie类的主要属性如下: 使用Cookie时,应注意以下几点 如下操作: 示例如下: 代码如下: protected void Page_Load(object sender, EventArgs e) { HttpCookie c1=Request.Cookies["UserName"]; HttpCookie c2 = Request.Cookies["Password"]; if (c1 != null || c2 != null) { //当保存完Cookie之后(也就是说"保存或永久保存"),这个才能输出,当第二次用统一浏览器打开该网站的时候就会输出 Response.Write(c1.Value + "欢迎光临"); } } protected void Button1_Click(object sender, EventArgs e) { //提交 if (TextBox1.Text == "admin" && TextBox2.Text == "123") { Response.Write("欢迎光临"+TextBox1.Text); Response.Cookies["UserName"].Value = TextBox1.Text; Response.Cookies["Password"].Value = TextBox2.Text; if (Dro pDo wn List 1.SelectedItem.Text == "永久保存") { //默认cookies失效时间是直到关闭浏览器 //Cookie保存永久 Response.Cookies["UserName"].Expires = DateTime.MaxValue; Response.Cookies["Password"].Expires = DateTime.MaxValue; } else { //Cookie永不保存 Response.Cookies["UserName"].Expires = DateTime.Now; Response.Cookies["Password"].Expires = DateTime.Now; } } } ログイン後にコピー 当我们再次打开该网站(同一浏览器)的时候,就会弹出“admin欢迎光临" 【相关推荐】 |
以上がAsp.net 組み込みオブジェクトの概要 Request オブジェクトの使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。