本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

HttpUtility.ParseQueryString 方法 (String)

 

使用 UTF8 編碼方式將查詢字串剖析成 NameValueCollection

命名空間:   System.Web
組件:  System.Web (於 System.Web.dll)

public static NameValueCollection ParseQueryString(
	string query
)

參數

query
Type: System.String

要剖析的查詢字串。

Exception Condition
ArgumentNullException

querynull

ParseQueryString 方法會使用 UTF8 格式來剖析查詢字串中傳回 NameValueCollection, 、 解碼 URL 編碼的字元和相同的查詢字串參數的多個項目會以單一項目列出以逗號分隔每個值。

System_CAPS_security 安全性 注意

ParseQueryString 方法會使用查詢字串,其中可能包含使用者輸入,可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱Script Exploits Overview

下列程式碼範例會示範如何使用 ParseQueryString 方法。 多次出現相同的查詢字串變數將會傳回一個項目中合併 NameValueCollection

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    String currurl = HttpContext.Current.Request.RawUrl;
    String querystring = null ;

    // Check to make sure some query string variables
    // exist and if not add some and redirect.
    int iqs = currurl.IndexOf('?');
    if (iqs == -1)
    {
      String redirecturl = currurl + "?var1=1&var2=2+2%2f3&var1=3";
      Response.Redirect(redirecturl, true); 
    }
    // If query string variables exist, put them in
    // a string.
    else if (iqs >= 0)
    {
      querystring = (iqs < currurl.Length - 1) ? currurl.Substring(iqs + 1) : String.Empty;
    }

    // Parse the query string variables into a NameValueCollection.
    NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

    // Iterate through the collection.
    StringBuilder sb = new StringBuilder("<br />");
    foreach (String s in qscoll.AllKeys)
    {
      sb.Append(s + " - " + qscoll[s] + "<br />");
    }

    // Write the result to a label.
    ParseOutput.Text = sb.ToString();

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpUtility ParseQueryString Example</title>
</head>
<body>
    <form id="form1" runat="server">
      Query string variables are:
      <asp:Label  id="ParseOutput"
                  runat="server" />
    </form>
</body>
</html>

.NET Framework
自 2.0 起供應
回到頁首
顯示: