none
請教:有關頁面之間信息傳遞的問題 RRS feed

  • 問題

  • 有什么方法可以在打開一個web頁面時,將上一個頁面上的一段字符(如:字符串visiter)傳遞過來?

    我看書上說可以在鏈接到新web網址時使用參數傳遞,但不知如何編寫代碼,不知是否可以放一個范例上來。

    煩請高手指教。

    2007年9月5日 上午 07:43

解答

  •  

    問題已解決,原來是在使用各種方式的時候,又多余的設置了postbackUrl屬性。真是畫蛇添足。

    感謝各位的幫助。謝謝

    2007年9月10日 上午 12:59

所有回覆

  • 用 Query String 就可以做到了吧。

     

    前一頁:

    http://xxx.com/SecondPage.aspx?data=visiter

     

    SecondPage.aspx:

    string data = Request.QueryString["data"]; // get "visiter"

    2007年9月5日 上午 07:51
    版主
  •  

    對不起,我沒說清楚,我想傳遞的是從數據庫中讀出來的值,按照您的做法似乎只能得到一個固定的字符串。。

    不知道是不是我理解的有偏差,煩請您指正

     

     

    2007年9月5日 上午 08:47
  • 那你就把 "?data=" 中的數值用你的資料庫數值取代就好了啊。

     

    Code Snippet

    Response.Redirect("SecondPage.aspx?data=" + mydata);

     

     

    2007年9月5日 上午 09:05
    版主
  • 我在第一個頁面中寫下如下代碼:

    Code Snippet

        protected void ButtonLogin_Click(object sender, EventArgs e)
        {
            Response.Redirect("Management.aspx?UserName=" + TextBox1.Text);
        }

     

     

     

    第二個頁面中:

    Code Snippet

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["UserName"] != null)
                TextBox1.Text = Request.QueryString["UserName"];

        }

     

     

    但仍無法正確接收,煩請指教。

     

    2007年9月6日 上午 05:51
  • 你可以用除錯器追一下看看:

     

    Code Snippet
        protected void ButtonLogin_Click(object sender, EventArgs e)
        {
            Response.Redirect("Management.aspx?UserName=" + TextBox1.Text);
        }

     

     

    TextBox1.Text 是有值還是沒有值。

    你也可以直接去看導向後的 URL,如果是 "?UserName=" 表示前一頁的 TextBox.Text 是空值。

     

    2007年9月6日 上午 06:08
    版主
  • protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["UserName"] != null)
                TextBox1.Text = Request.QueryString["UserName"];

        }

     

    這行Request.QueryString["UserName"] != null 是不是null

    如果不是就會執行

    TextBox1.Text = Request.QueryString["UserName"];

    如果執行到這一行是空的

    就表示上一頁傳空字串過來.

    當然這樣會比較好TextBox1.Text = Request.QueryString["UserName"].ToString();

     

     

     

    2007年9月6日 上午 06:17
  • 已經使用了各種方法,包括使用application和session,也在網上查找了許多關于網頁間傳遞信息的方式。但傳遞的始終都是空字串。

    請問是不是我vs安裝的有問題?我使用的是windows XP SP2 professional 繁體中文版。

     

    不知道這是不是需要使用IIS,我的系統上并沒有安裝此項。
    2007年9月7日 上午 02:17
  • 要測最好是在 IIS 上測。

    照理說不可能沒有效果,除非在寫入網址時(也就是資料庫讀出時)就是空字串了。

     

    2007年9月7日 上午 02:44
    版主
  •  

    問題已解決,原來是在使用各種方式的時候,又多余的設置了postbackUrl屬性。真是畫蛇添足。

    感謝各位的幫助。謝謝

    2007年9月10日 上午 12:59