【问题标题】:Using OnClick event with PostBackUrl attribute of asp:Button将 OnClick 事件与 asp:Button 的 PostBackUrl 属性一起使用
【发布时间】:2013-03-27 15:04:27
【问题描述】:

我有一个像这样的asp:Button 控件;

<asp:Button ID="btnPayCC" CssClass="paymentButton" runat="server" Text="ONAYLA"  
OnClientClick="if(!doPostBack()) return false; frmMaster.target='_blank'" 
PostBackUrl="http://www.google.com" OnClick="btnPayCC_Click" />

doPostBackjavascript函数是;

function doPostBack() 
 {
   __doPostBack('<%= btnPayCC.ClientID %>', '');
   return true;
 };

当我点击按钮时,它会如我所愿打开新页面(google.com), 但不要回发到按钮控件的OnClick 事件中。

有什么问题? 我该如何解决?

【问题讨论】:

  • 您只能回发到一个地方。您要么发布“回”到谷歌 url,要么发布回您自己的页面。如果没有单独的请求,两者都不会发生。
  • 谢谢@JoelEtherton,我想知道是否有其他解决方案可以完成这项工作(使用 doPostBack 调用 c# 函数)?
  • 我建议发回你的本地页面,做任何你需要的验证,然后重新发布到谷歌。它们是独立的操作,因此不应相互依赖。
  • @MehmetInce 你可以从后面的代码中调用你的javascript。

标签: c# javascript asp.net postback


【解决方案1】:

我遇到了同样的问题。我通过在按钮的 onClick 事件末尾添加 Response.Redirect("url") 并从按钮中删除 PostbackUrl 属性来解决它,以便使用自动回发到相同的 url。即:

protected void Button_Click(object sender, EventArgs e)
{ 
   //do your button click events here
   Response.Redirect("~/url.aspx");
}

<asp:Button ID="Button" runat="server" CausesValidation="false" OnClick="Button_Click">

【讨论】:

    猜你喜欢
    • 2017-11-02
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多