【问题标题】:Asp.Net Button Click is not firing up on remote serverAsp.Net 按钮单击未在远程服务器上启动
【发布时间】:2012-10-06 20:22:43
【问题描述】:

我有一个用户控件,它有几个字段(地址、郊区等)和一个提交按钮,一旦按下提交按钮,一个回传将转到服务器,我将输入的详细信息保存到会话中以将其存储到数据库中在后期。

在我的本地机器上一切正常,在我的团队成员机器上也是如此。 但是,一旦我部署到服务器,按钮单击不起作用。 当我单击该按钮时,它会发回(重新加载页面),但它从未命中我的事件处理程序。

我在页面上几乎没有验证。我尝试将它们全部删除,但仍然没有帮助。 我怀疑服务器设置,所以我部署到另一台服务器(GoDaddy 和 CrazyDomains),同样的问题发生了。

为了使它更复杂,在少数情况下,它可以在服务器上正常工作。 我正在运行 .NET 4.0 和 VS 2010

任何帮助将不胜感激。 谢谢

<div class="clear" style="padding-top: 20px;">
  <asp:Button runat="server" 
              ID="SubmitButton" 
              OnClick="SubmitButtonClick" 
              Text="View Plans" 
              Width="150px" 
              CssClass="NextButton CompareButton"/>
</div>

事件处理程序

protected void SubmitButtonClick(object sender, EventArgs e)
{
  // doing my form data saving here 
  // not hitting this point
  Response.Redirect("http://google.com");
}

【问题讨论】:

  • 之前尝试过,但似乎没有任何区别。我可以看到用户控件已加载,即使我按照该帖子中所说的进行操作,仍然没有任何区别。
  • 所有控件都有一个ID(包括UserControl)?
  • 感谢 cmets 伙计们。是的,所有控件都指定了 ID,包括 UserControl,我尝试将所有内容移动到页面而不是 UserControl,并且 Click 事件正在连接

标签: c# asp.net webforms buttonclick


【解决方案1】:

我发现问题是我们忘记关闭 Web.Config 中的跟踪标记

 <trace enabled="true" requestLimit="40" localOnly="false" Output="false" />

所以虽然它在本地工作(因为它处于调试模式)但在服务器上却不能工作

另一个问题是,因为我们在 iFrames 中使用这些页面,我们需要避免

 Response.Redirect()

并且需要向页面添加隐私策略,以便 Web 浏览器可以信任它们,如下所示:

 response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")

希望这可以对其他人有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 2020-04-22
    • 2015-02-11
    相关资源
    最近更新 更多