2010-10-14 155 views
1

這真的讓我瘋狂已經上了好幾個小時。按鈕點擊兩次後回發

我有一個url,其查詢字符串基於表單上選定的項目連接,我需要做一個帖子到這個url,但必須點擊一個imagebutton控件來發布帖子。我將ImageButton的PostBackUrl屬性放在圖像按鈕的事件中,因此在最終發佈url之前使它被點擊兩次......但我確實需要點擊一次,但這不起作用。我知道爲什麼它點擊兩次,試圖調用JavaScript的網址,但它沒有工作。

以下是代碼。請幫助我的代碼示例因爲我還是一個新手,還挺。謝謝

protected void searchImageButton_Click(object sender, ImageClickEventArgs e) 
{ 
    returntype = tidRadioButtonList.SelectedItem.Value; 

    dateDlabel = selddate1TextBox.Text.Trim(); 
    dateAlabel = seladate1TextBox.Text.Trim(); 

    depart = seldcity1DropDownList.SelectedItem.Value; 
    arrive = selacity1DropDownList.SelectedItem.Value; 

    flightclass = selcabinclassDropDownList.SelectedItem.Value; 

    adult = seladultsDropDownList.SelectedItem.Text; 
    child = selchildrenDropDownList.SelectedItem.Text; 
    infant = selinfantsDropDownList.SelectedItem.Text; 

    result = resultbyRadioButtonList.SelectedItem.Value; 

    promos = promocodeTextBox.Text.Trim(); 


    string theURL = "http://yyy.xxx.com/CAB/SessionHandler.aspx?target=%2fCAB%2fIBE.aspx&pub=%2fng%2fEnglish&Tab=1&s=&h=?tid=" + returntype + 
    "&seldcity1=" + depart.Trim() + "&selddate1=" + dateDlabel + "&selacity1=" + arrive.Trim() + "&seladate1=" + dateAlabel + "&selcabinclass=" + flightclass 
     + "&seladults=" + adult + "&selchildren=" + child + "&selinfants=" + infant + "&resultby=" + result + "&promocode=" + promos; 

    searchImageButton.PostBackUrl = theURL; 


} 

回答

2

但是你說ASP.NET導致回發兩次。 PostBackUrl是跨頁面回發的特殊屬性,但是如果將其設置爲同一頁面,則將獲得兩次回發。第一次回發是由於用戶點擊ImageButton而發生的常見處理。其次是因爲您設置了PostBackUrl而啓動。對於你的場景你不能使用ImageButton。使用HyperLink並將img放入鏈接中。順便說一句。你想用這些代碼實現什麼?

+0

我要張貼在URL中的數據(查詢字符串)到另一個站點使用,以顯示一些信息,結果查詢字符串值。另一個網站無法訪問我,我只能以這種方式發送數據。 – Tobby 2010-10-15 08:54:22

+0

將數據發送到不同的網站?在這種情況下,您可能需要HTML表單併發布到該網站的某個頁面。 – 2010-10-15 10:22:16

+0

ImageButton將只發布到您的網站。或者,如果另一方接受HTTP GET請求,則可以使用HyperLink。 – 2010-10-15 10:24:54

2

由於需要回發到另一個URL,爲什麼不使用

Response.Redirect(theURL); 
+0

Response.Redirect僅重定向,所需數據未發佈到目標aspx頁面。但它在第二次按鈕點擊時起作用。 – Tobby 2010-10-15 13:11:35

+0

如果數據位於QueryString中,沒有理由不能使用Response.Redirect。 – 2010-10-15 14:31:29

相關問題