重定向不发生时,点击按钮

本文关键字:按钮 重定向 | 更新日期: 2023-09-27 18:11:26

我试图将用户重定向到单击按钮后的不同页面,并停止任何asp相关的事件,如果它符合javascript中的if()语句的验证,我这样做的原因是因为在特定页面上。由于某种原因,它没有捕获On_Click事件。在调试的时候…在进入.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> 

重定向不发生时,点击按钮

一个问题是你的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;
}