单击按钮时不会发生重定向

时间:2011-10-17 21:55:51

标签: c# asp.net

我试图在点击按钮时将用户重定向到另一个页面并停止任何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> 

1 个答案:

答案 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;
}