我有一个像
这样的按钮<asp:Button ID="Button1" runat="server" Text="Submit" onclick="RedirectToLocker"
OnClientClick="return false;" UseSubmitBehavior="false" />
和代码隐藏中的方法如
public void RedirectToLocker(object sender, EventArgs e)
{
Response.Redirect(ConfigurationManager.AppSettings["LockerLoginURL"]);
}
但是当我点击按钮时,它没有点击方法中的代码。如果我删除OnClientClick =“return false;”然后按钮提交表单并转到错误的页面。我做错了什么?
编辑:我正在使用OnClientClick =“return false;”代码,因为没有它,按钮由于某种原因作为它嵌套的表单的提交,并立即重定向到表单操作URL而不是命中我的代码。
答案 0 :(得分:2)
当clientide事件处理程序返回false时,将省略回发。
OnClientClick="return false;" // <-- no postback
所以你要么需要删除它,要么告诉我们你为什么要从js-onclick事件中返回false。如果Response.Redirect
转到了错误的页面,您可能想要更改它。
修改:通过将表单的Action
设置为另一个网址,您将重定向到另一个页面。然后,您可以将Button的PostBackUrl
设置为与当前页面相同的URL。然后它会击中代码隐藏。
答案 1 :(得分:0)
您需要删除OnClientClick="return false;"
才能运行服务器端方法。
如果浏览器重定向到错误的页面,请检查LockerLoginURL
中的web.config
应用程序设置值。这应该与您重定向到的URL匹配。
将其更改为正确的网址。
答案 2 :(得分:0)
删除 OnClientClick =“return false;”