【问题标题】:LinkButton OnClick working on local IIS but not on remote serverLinkBut​​ton OnClick 在本地 IIS 上工作,但不在远程服务器上
【发布时间】:2013-03-19 11:04:21
【问题描述】:

在一个页面上我有DropDownList 和一个LinkButton,代码如下:

<asp:LinkButton ID="linkButton1" OnClick="FormSubmit" Text="CLICK ME" runat="server" />

后面的代码:

protected void FormSubmit(object sender, EventArgs e)
{
    Response.Redirect("/location.aspx?dropDownValue=" + this.dropDownList.SelectedValue);
}

其目的是让用户从下拉列表中选择一个值并转发到一个带有与该值相关的查询字符串的新页面。

在我的本地 IIS 上,这可以使用适当的查询字符串查找并重定向到 localhost/location.aspx,但是,在远程服务器上,所发生的只是页面刷新。

我们最近发生了服务器中断,并且服务器上的某些设置(例如防火墙)发生了更改,这可能会导致此问题发生,但我无法确定这是否是以前存在的问题。

所以问题是:什么会导致我的本地 IIS 和远程 IIS 之间的这种行为差异?


更多细节:

两者都是运行 .NETv2 的 IIS 7

我试过https://stackoverflow.com/a/13498195/1185053https://stackoverflow.com/a/1953651/1185053

【问题讨论】:

  • 猜一猜,你试过不带斜线吗?我的意思是“location.aspx ...”?
  • 在远程服务器上,location.aspx在网站的根目录下吗?此外,实际发生的请求/响应是什么?使用 Firebug 之类的东西来查看它们是什么(发布的是什么,是否有重定向响应等)。在FormSubmit 中放置某种日志记录语句以确保它被调用也是一个好主意。
  • 您是否查看过您选择的浏览器开发工具以查看请求了哪些资产?在 Chrome 工具中,您可以检查网络选项卡以查看单击链接时发出的请求
  • @pawlakppp,David:路径指向正确的位置——即使不是——我只会得到 404,而不是页面刷新。
  • @levelnis 我会看看并报告。

标签: asp.net .net iis-7 webforms


【解决方案1】:

检查ViewState。我最近观察到同样的事情。我在GridView 中有一个链接的代码,它正在工作,但在与母版页合并后,我无法执行LinkButton 服务器代码。它失去了约束力。

还有一种情况。我的 Visual Studio 有时表现得很奇怪。在设计视图中双击后,它会在后面的代码中创建另一个事件为linkbutton1_click

所以在激活“ViewState”/双击链接按钮后,一旦我能够正确绑定事件背后的代码。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 2013-04-23
    • 2015-06-19
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多