Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止页面使用javascript发回_Javascript_Asp.net - Fatal编程技术网

如何防止页面使用javascript发回

如何防止页面使用javascript发回,javascript,asp.net,Javascript,Asp.net,我已经检查了其他代码,看起来我只需要添加return false就可以了。但是,它不起作用,因为它仍然回发页面 <asp:Button ID="_btnSearch" Text="Search" onclientclick="CheckForEmptySearchBox()" /> <script type = "text/javascript"> function CheckForEmptySearchBox() {

我已经检查了其他代码,看起来我只需要添加return false就可以了。但是,它不起作用,因为它仍然回发页面

<asp:Button ID="_btnSearch" Text="Search" 
            onclientclick="CheckForEmptySearchBox()" />

<script type = "text/javascript">
    function CheckForEmptySearchBox() 
    {
        var boxContent = document.getElementById
          ("_ctl0_contentMain__lvTSEntry_ctrl0__txtClientName").value;
        if (boxContent == null || boxContent == "") {
            alert("Please enter search criteria");

            return false;
        }
     }  
</script>

函数CheckForEmptySearchBox()
{
var-boxContent=document.getElementById
(“_ctl0_contentMain_ulvtsentry_ctl0_utxtclientname”)。值;
if(boxContent==null | | boxContent==“”){
警报(“请输入搜索条件”);
返回false;
}
}  

onclientclick的源正在接收
null
而不是
false
,因为您没有返回函数调用的结果

onclientclick="return CheckForEmptySearchBox()" 

您可以在
表单
上添加全局检查,这可以在代码隐藏上完成,如下所示:

    if (Page.EnableEventValidation)
    {
        if (string.IsNullOrEmpty(Page.Form.Attributes["onsubmit"]))
        {
            Page.Form.Attributes["onsubmit"] = "return CheckForEmptySearchBox();";
        }
    }

您是否考虑过使用任何ASP.NET验证控件?如果您不想在服务器上单击它,为什么要使用它?使用html按钮@jrummell,我尝试过,但遇到了很多麻烦,因为要验证的控件位于ListView控件内。因此,RequiredFieldValue正在验证每个ListViewItem中的文本框。如果你知道一种更好的方法来隔离验证的效果,那就更好了。你的解决方案非常有效。现在我正在等待@jrummell告诉我是否有一种方法可以在ListView中使用验证控件,而不必在每一行进行验证。@Richard77。我的答案回答了你的问题,但更适合放置此代码的位置是