Assembly : System.Web (dans system.web.dll)
NotesLes méthodes et les propriétés de la classe HttpRequest sont exposées via les propriétés Request des classes HttpApplication, HttpContext, Page et UserControl.
| Topic | Location |
|---|---|
| Comment : passer des valeurs entre des pages Web ASP.NET | Génération d'applications Web ASP.NET |
ExempleL'exemple de code suivant utilise la classe StreamWriter pour écrire les valeurs de plusieurs propriétés de classe HttpRequest dans un fichier. Pour les propriétés de type String, les valeurs sont codées en HTML comme elles sont écrites dans le fichier. Les propriétés qui représentent une collection, dont chaque paire de clé/valeur est écrite dans le fichier, font l'objet d'une boucle.
<%@ Page Language="VB" %> <%@ import Namespace="System.Threading" %> <%@ import Namespace="System.IO" %> <script runat="server"> ' NOTE: To use this sample, create a c:\temp\CS folder, ' add the ASP.NET account (in IIS 5.x <machinename>\ASPNET, ' in IIS 6.x NETWORK SERVICE), and give it write permissions ' to the folder. Private Const INFO_DIR As String = "c:\temp\VB\RequestDetails" Public Shared requestCount As Integer Private Sub Page_Load(sender As Object, e As System.EventArgs) ' Create a variable to use when iterating ' through the UserLanguages property. Dim langCount As Integer ' Create a counter to name the file. Dim requestNumber As Integer = _ Interlocked.Increment(requestCount) ' Create the file to contain information about the request. Dim strFilePath As String = INFO_DIR & requestNumber.ToString() & ".txt" Dim sw As StreamWriter = File.CreateText(strFilePath) Try ' Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(DateTime.Now.ToString())) sw.WriteLine(Server.HtmlEncode(Request.CurrentExecutionFilePath)) sw.WriteLine(Server.HtmlEncode(Request.ApplicationPath)) sw.WriteLine(Server.HtmlEncode(Request.FilePath)) sw.WriteLine(Server.HtmlEncode(Request.Path)) ' Iterate through the Form collection and write ' the values to the file with HTML encoding. For Each s As String In Request.Form sw.WriteLine("Form: " & Server.HtmlEncode(s)) Next s ' Write the PathInfo property value ' or a string if it is empty. If Request.PathInfo = String.Empty Then sw.WriteLine("The PathInfo property contains no information.") Else sw.WriteLine(Server.HtmlEncode(Request.PathInfo)) End If ' Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.PhysicalApplicationPath)) sw.WriteLine(Server.HtmlEncode(Request.PhysicalPath)) sw.WriteLine(Server.HtmlEncode(Request.RawUrl)) ' Write a message to the file dependent upon ' the value of the TotalBytes property. If Request.TotalBytes > 1000 Then sw.WriteLine("The request is 1KB or greater") Else sw.WriteLine("The request is less than 1KB") End If ' Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.RequestType)) sw.WriteLine(Server.HtmlEncode(Request.UserHostAddress)) sw.WriteLine(Server.HtmlEncode(Request.UserHostName)) sw.WriteLine(Server.HtmlEncode(Request.HttpMethod)) ' Iterate through the UserLanguages collection and ' write its HTML encoded values to the file. For langCount = 0 To Request.UserLanguages.Length - 1 sw.WriteLine("User Language " & langCount.ToString() & _ ": " & Server.HtmlEncode( _ Request.UserLanguages(langCount))) Next Finally ' Close the stream to the file. sw.Close() End Try lblInfoSent.Text = _ "Information about this request has been sent to a file." End Sub 'Page_Load Private Sub btnSendInfo_Click(sender As Object, e As System.EventArgs) lblInfoSent.Text = _ "Hello, " & Server.HtmlEncode(txtBoxName.Text) & _ ". You have created a new request info file." End Sub 'btnSendInfo_Click </script> <html> <head> </head> <body> <form runat="server"> <p> </p> <p> Enter your hame here: <asp:TextBox id="txtBoxName" runat="server"></asp:TextBox> </p> <p> <asp:Button id="btnSendInfo" onclick="btnSendInfo_Click" runat="server" Text="Click Here"></asp:Button> </p> <p> <asp:Label id="lblInfoSent" runat="server"></asp:Label> </p> </form> </body> </html>
<%@ Page Language="C#" %>
<%@ import Namespace="System.Threading" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
/* NOTE: To use this sample, create a c:\temp\CS folder,
* add the ASP.NET account (in IIS 5.x <machinename>\ASPNET,
* in IIS 6.x NETWORK SERVICE), and give it write permissions
* to the folder.*/
private const string INFO_DIR = @"c:\temp\CS\RequestDetails";
public static int requestCount;
private void Page_Load(object sender, System.EventArgs e)
{
// Create a variable to use when iterating
// through the UserLanguages property.
int langCount;
int requestNumber = Interlocked.Increment(ref requestCount);
// Create the file to contain information about the request.
string strFilePath = INFO_DIR + requestNumber.ToString() + @".txt";
StreamWriter sw = File.CreateText(strFilePath);
try
{
// Write request information to the file with HTML encoding.
sw.WriteLine(Server.HtmlEncode(DateTime.Now.ToString()));
sw.WriteLine(Server.HtmlEncode(Request.CurrentExecutionFilePath));
sw.WriteLine(Server.HtmlEncode(Request.ApplicationPath));
sw.WriteLine(Server.HtmlEncode(Request.FilePath));
sw.WriteLine(Server.HtmlEncode(Request.Path));
// Iterate through the Form collection and write
// the values to the file with HTML encoding.
// String[] formArray = Request.Form.AllKeys;
foreach (string s in Request.Form)
{
sw.WriteLine("Form: " + Server.HtmlEncode(s));
}
// Write the PathInfo property value
// or a string if it is empty.
if (Request.PathInfo == String.Empty)
{
sw.WriteLine("The PathInfo property contains no information.");
}
else
{
sw.WriteLine(Server.HtmlEncode(Request.PathInfo));
}
// Write request information to the file with HTML encoding.
sw.WriteLine(Server.HtmlEncode(Request.PhysicalApplicationPath));
sw.WriteLine(Server.HtmlEncode(Request.PhysicalPath));
sw.WriteLine(Server.HtmlEncode(Request.RawUrl));
// Write a message to the file dependent upon
// the value of the TotalBytes property.
if (Request.TotalBytes > 1000)
{
sw.WriteLine("The request is 1KB or greater");
}
else
{
sw.WriteLine("The request is less than 1KB");
}
// Write request information to the file with HTML encoding.
sw.WriteLine(Server.HtmlEncode(Request.RequestType));
sw.WriteLine(Server.HtmlEncode(Request.UserHostAddress));
sw.WriteLine(Server.HtmlEncode(Request.UserHostName));
sw.WriteLine(Server.HtmlEncode(Request.HttpMethod));
// Iterate through the UserLanguages collection and
// write its HTML encoded values to the file.
for (langCount=0; langCount < Request.UserLanguages.Length; langCount++)
{
sw.WriteLine(@"User Language " + langCount +": " + Server.HtmlEncode(Request.UserLanguages[langCount]));
}
}
finally
{
// Close the stream to the file.
sw.Close();
}
lblInfoSent.Text = "Information about this request has been sent to a file.";
}
private void btnSendInfo_Click(object sender, System.EventArgs e)
{
lblInfoSent.Text = "Hello, " + Server.HtmlEncode(txtBoxName.Text) +
". You have created a new request info file.";
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
</p>
<p>
Enter your hame here:
<asp:TextBox id="txtBoxName" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button id="btnSendInfo" onclick="btnSendInfo_Click" runat="server" Text="Click Here"></asp:Button>
</p>
<p>
<asp:Label id="lblInfoSent" runat="server"></asp:Label>
</p>
</form>
</body>
</html>
Sécurité .NET Framework- AspNetHostingPermission pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal
Plates-formesWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ