程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 關於URL的傳遞字符串問題

關於URL的傳遞字符串問題

編輯:關於ASP.NET

前幾天在調程序的時候遇到了比較郁悶的問題,我用URL從一個頁面傳遞字符串到另一個頁面的時,出 現了個奇怪的問題,我要傳遞的字符串是“DK51+700中繼站”;可是另一個頁面接收到字符串卻是: “DK51 700中繼口”;加號變成了空格,“站”不能解析出來,變成了不能識別的符號“口”。

我上網查找了原因:URL中有些字符被轉義,比如空格被編碼成加號,於是傳的參數明明是加號,獲取 的值卻成了空格。

按照網上的建議,我們應該對要傳遞的參數進行編碼處理。於是,我對傳遞的參數進行了處理,但是 又衍生了一堆問題出來;我當時為了節約時間,就沒有仔細研究,用了字符串中的Replace()方法在傳送 前代替了這兩個字符,接收到了再代替回來。現在我來具體的展示下這個問題。

1.首先,我們先看下我的開始的問題(環境:VS2008):

1.1.新建一個網站,在其中添加一個頁面,一個頁面是Defaul.aspx,另一個頁面Defaul2.aspx,在第 一個頁面中添加一個控件:HyperLink1;

後台代碼:

public partial class _Default : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string url;
    string name;
    url = "Default2.aspx?Name=";
    name = "DK51+700中繼站";
     HyperLink1.NavigateUrl = url + name;
  }
}

1.2.在第二個頁面中添加一個Label控件Label1;

後台代碼:

public partial class Default2 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string name = Request.QueryString ["Name"];
    Label1.Text = name;
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved