2010-10-14 170 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