Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Anwendungsbeispiele für das in Asp.net integrierte Objekt Request-Objekt

Zusammenfassung der Anwendungsbeispiele für das in Asp.net integrierte Objekt Request-Objekt

零下一度
零下一度Original
2017-05-23 11:45:372837Durchsuche

Das Request-Objekt wird hauptsächlich zum Abrufen von Daten vom Client verwendet, z. B. vom Benutzer eingegebene Daten, auf dem Client gespeicherte Cookies usw. Dieser Artikel konzentriert sich auf das Request-Objekt und erklärt seine Hauptfunktionen: Lesen von Formularvariablen und Abfragen von String-Variablen, um die Systeminformationen des Webservers abzurufen. Erhalten Sie Client-Browserinformationen usw. Interessierte Freunde können mehr über

Vorwort:
Das Request-Objekt wird hauptsächlich zum Abrufen von Daten vom Client verwendet, z. B. wenn der Benutzer das Formular ausfüllt . Auf dem Client gespeicherte Daten, Cookies usw.

1. Übersicht über das Anforderungsobjekt

1

2. Hauptmethode

(1) MapPath (VirtualPath): Ordnen Sie den virtuellen Pfad virtualPath in der aktuell angeforderten URL dem physischen Pfad auf dem Server zu. Der Parameter virtualPath gibt den virtuellen Pfad der aktuellen Anfrage an, der ein absoluter Pfad oder ein relativer Pfad sein kann. Der Rückgabewert dieser Methode ist der physische Pfad des durch virtualPath angegebenen Servers.

(2)SaveAs (Dateiname, includeHeaders): Speichern Sie die http-Anfrage auf der Festplatte. Der Parameter Dateiname gibt den physischen Laufwerkspfad an und includeHeaders ist ein boolescher Wert, der angibt, ob HTTP-Header auf der Festplatte gespeichert werden sollen.

2. Anwendung des Request-Objekts

4 Möglichkeiten zum Lesen von Formularvariablen :

(1) .Verwenden die Request.Form-Eigenschaft zum Lesen von Formularvariablen
(2). Verwenden Sie die Request.QueryString-Eigenschaft zum Lesen von Formularvariablen
(3). Formularvariablen direkt über die Eigenschaften des Serversteuerelements lesen


(1) Verwenden Sie die Eigenschaft „Request.Form“, um die Formularvariablen

Methodeneigenschaft des HtmlForm-Steuerelements zu lesen Der Standardwert ist post. In diesem Fall werden die Formulardaten in Form von HTTP-Headern an den Server gesendet, wenn der Benutzer die Webseite übermittelt. An dieser Stelle können Sie die Form-Eigenschaft des Request-Objekts verwenden, um die Formularvariablen zu lesen. Zum Beispiel: txtUserName- und txtPassword-Textfeldsteuerelemente. Ihre Werte können in der folgenden Form gelesen werden: Request.Form["txtUserName"] ;Request.Form["txtPassword"]

(2) Verwenden Sie Request Die .QueryString-Eigenschaft liest die Formularvariable

. Wenn die Method-Eigenschaft des HtmlForm-Steuerelements auf „get“ eingestellt ist, werden die Formulardaten beim Absenden der Webseite durch den Benutzer an die URL angehängt und an den Server gesendet . In diesem Fall kann die Formularvariable mithilfe der QueryString-Eigenschaft des Request-Objekts gelesen werden. Request.QueryString["txtUserName"] ;Request.QueryString["txtPassword"]

(3) Verwenden Sie die Request.Params-Eigenschaft, um Formularvariablen zu lesen

Unabhängig von der Method-Eigenschaft des Das HtmlForm-Steuerelement ist Value. Sie können die Params-Eigenschaft des Request-Objekts verwenden, um den Inhalt der Formularvariablen zu lesen, z. B. Request.Params["txtPassword"] oder Request.["txtPassword"]. Die von der GET-Methode übermittelten Daten sind Priorität erhalten und in QueryString, Form und ServerVariable der Reihe nach durchsucht werden.

Anfrage: Enthält die beiden oben genannten Methoden (die von der GET-Methode übermittelten Daten werden zuerst abgerufen) und sucht der Reihe nach in QueryString, Form und ServerVariable. Request.Params ist eine Sammlung aller per Post übergebenen Werte und get request.params ist eigentlich eine Sammlung, die in der Reihenfolge request.QueryString, request.Form, request.cookies und request.ServerVariable enthält.

Hinweis: Bei der Verwendung von Request.Params ist es am besten, unter diesen Sammlungselementen keine Elemente mit demselben Namen zu haben. Wenn Sie nur ein Datenelement im Formular benötigen, aber Request statt Request.Form verwenden, sucht das Programm auch in QueryString und ServerVariable. Wenn in QueryString oder ServerVariable ein Element mit demselben Namen vorhanden ist, ist der erhaltene Wert nicht der gewünschte Wert.

(4) Formularvariablen direkt über die Eigenschaften des Serversteuerelements lesen

Zusätzlich zu den oben genannten drei Methoden können Sie die Formularvariablen auch direkt über die Eigenschaften des Serversteuerelements lesen. Dies ist die gebräuchlichste und einfachste Möglichkeit, Formulardaten zu erhalten. Zum Beispiel: txtUserName.Text

2. Lesen Sie die Abfragezeichenfolgenvariable

Beim Surfen im Internet werden in der Adressleiste des Browsers häufig URLs wie „xxx.aspx?id=8018“ angezeigt, wobei xxx.aspx anzeigt, dass Sie dies möchten Besuchen Sie die .aspx-Webseite. Der Inhalt, dem ein Fragezeichen (?) folgt, ist die Abfragezeichenfolge. Ihre Funktion besteht darin, den Namen und den Wert der Variablen zur Verarbeitung in diese ASP.NET-Datei zu übertragen. Abfragezeichenfolgenvariablen können auf verschiedene Arten generiert werden.

(1). Wenn die Method-Eigenschaft des HtmlForm-Steuerelements auf „get“ eingestellt ist, werden die Formulardaten beim Absenden der Webseite als Abfragezeichenfolgenvariable an die URL angehängt und an gesendet Server.

(2). Wenn Sie das 3499910bf9dac5ae3c52d5ede7383485…5db79b134e9f6b82c0b36e0489ee08ed-Tag oder das HyperLink-Steuerelement verwenden, um einen Hypertext-Link zu erstellen, können Sie die Abfragezeichenfolge nach der Ziel-URL einfügen und ein Fragezeichen „?“ verwenden Trennen Sie die URL und den Abfragestring
(3). Wenn beim Aufruf der Response.Redirect-Methode Variablenname/Wert-Paare an die URL-Parameter angehängt sind, werden diese Variablenwerte an die URL angehängt und an die gesendet Server, wenn die Zielwebseite geöffnet wird.
(4). Geben Sie bei der Eingabe der Anfrage-URL in die Adressleiste des Browsers das Fragezeichen „?“ und die Abfragezeichenfolge ein. Beispiel: http://…/t.aspx?Id=8018

In den oben genannten Situationen kann die Abfragezeichenfolgenvariable über die Eigenschaft Request.QueryString abgerufen werden.

Der folgende Code:

//在登陆页面 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=登陆失败!"); } }
Auf der Verifizierungsseite


Der Code lautet wie folgt:

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("登陆失败"); 
} 
}

3. Erhalten Sie die Systeminformationen des Webservers

Das Request-Objekt verwendet das ServerVariables-Sammlungsobjekt, um die serverseitigen Systeminformationen zu speichern. Diese Informationsvariablen werden im HTTP-Header enthalten und zusammen mit der HTTP-Anfrage übertragen . Die Syntax zum Abrufen von Umgebungsvariablen mithilfe des ServerVariables-Auflistungsobjekts des Request-Objekts lautet wie folgt: Request.ServerVariables[Name der Umgebungsvariablen]

Die im ServerVariables-Auflistungsobjekt gespeicherten allgemeinen Informationsvariablen lauten wie folgt:



 代码如下:

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

Cookie是在HTTP协议下服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息,这些信息以名/值对的形式储存在文本文件中。无论何时,只要用户连接接到服务器,Web站点就可以访问Cookie信息。Cookie保存在用户的Cookie文件中,当下一次用户返回时,仍然可以对它进行调用。

Cookies集合是由一些Cookie对象组成的。Cookie对象的类名为HttpCookie。HttpCookie类的主要属性如下:

使用Cookie时,应注意以下几点

[1].使用Cookie保存客户端浏览器请求服务器页面的请求信息时,保存时间的长短取决于Cookie对象的Expires属性,可以根据需要来设置。若未设置Cookie的失效日期,则它们仅保存到关闭浏览器为止。若将Cookie对象的Expires属性设置为DateTime.MaxValue,则表示Cookie永远不会过期。

[2].Cookie存储的数据量有所限制,大多数浏览器支持的最大容量为4096字节,因此不要用Cookie来保存大量数据。

[3].  并非所有浏览器都支持Cookie,并且数据是以明文形式保存在客户端计算机中,因此最好不要用Cookie来保存敏感的未加密数据。

[4].在ASP.NET中有两个Cookies集合,即:Response对象的Cookies集合和Request对象的Cookies集合,但两者的作用有所不同,通过前者可以将Cookie写入客户端,通过后者可以读取存储在客户端的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欢迎光临"

【相关推荐】

1. 谈谈Request和Response这两个对象的使用

2. 分享一个Request对象小案例

3. 分享asp中request对象五个获取客户端资料的方法

4. 详解ASP.NET 系统对象之Request

Das obige ist der detaillierte Inhalt vonZusammenfassung der Anwendungsbeispiele für das in Asp.net integrierte Objekt Request-Objekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn