我试图在点击按钮时将用户重定向到另一个页面并停止任何asp相关事件,如果它符合javascript中的if()语句中的验证,我之所以这样做是因为这是因为在特定的页面上..由于某种原因,它不会使On_Click事件变为grabinhg。在调试它..在它进入.cs文件中的On_Click事件之前它调用多个类和函数..当它完成时...它重定向到其他地方并且从不经历On_Click事件..现在这些是它正在经历十几个类,所以我决定使用javascript在点击按钮后立即执行它而不让它在.cs中进行评估但是我仍然希望允许其他页面,因为它在那里工作..这个页面似乎要特别..
当我点击图像按钮时,它应该首先检查该功能,然后是否真正的重定向并停止在Page_Load上的任何其他处理,或者在其他任何地方停止,但是它不起作用在我的用户控件中查看我的代码
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FindPage.ascx.cs"
Inherits="Data_Manager_FindPage" %>
<script type="text/javascript">
function ForwardSearch() {
if (window.location.href.indexOf('FindPage.aspx') > -1) {
var value = document.getElementById('<%= txtFind.ClientID %>').value;
window.location.href = '~/ResultSet.aspx?findvalue=' + encodeURIComponent(value);
}
}
</script>
答案 0 :(得分:1)
一个问题是您的ForwardSearch()JavaScript函数没有显式返回true / false。
当你添加“OnClientClick ='return ForwardSearch();'”时,它将使用函数的结果来确定它是否应该继续执行。由于您的ForwardSearch()不返回任何内容,因此默认返回true,因此它将继续执行并最终调用服务器端btnFind_Click。
尝试:
<script type="text/javascript">
function ForwardSearch() {
if (window.location.href.indexOf('FindPage.aspx') > -1) {
var value = document.getElementById('<%= txtFind.ClientID %>').value;
window.location.href = '~/ResultSet.aspx?findvalue=' + encodeURIComponent(value);
return false;
}
return true;
}