asp.net中button控制先执行js再执行后台程序的方法

 更新时间:2015年01月04日 09:35:30   投稿:shichen2014  
这篇文章主要介绍了asp.net中button控制先执行js再执行后台程序的方法,涉及button控件与js的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了asp.net中button控制先执行js再执行后台程序的方法。分享给大家供大家参考。具体分析如下:

在.net中要实现button控制点击之后先执行js再执行后台程序这个看上去没什么难度,这里我们就一起来看一个asp.net中button控制先执行js再执行后台程序的实现方法,希望可以帮助到各位。

关于button这个服务器控件,我一直想减少它向服务器提交数据。那些检测,还是在客户端实现就好了。

这就需要javascript,但是我发现仅仅有javascript还是不够的。button服务器控件的单击事件叫“onClick”,所以javascript就无法使用这个事件。因为重名了。我想实现的是单击button的时候,先执行客户端的javascript代码,然后再执行后台事件。

如果使用的是html控件,就不存在这种问题了。但是,我就是想实现服务器控件的这一功能,有时候服务器控件也是很好用的。
先给aspx页面增加一个服务器控件button

在页面初始化的时候,给button这个服务器控件增加一个客户端事件。也就是在Page_Load()这个方法里面加一句代码:

复制代码 代码如下:
if (!IsPostBack)
{
 //给button1添加客户端事件
 btnSave.Attributes.Add("OnClick", "return UserAddVerify()");
}

UserAddVerify 是js端实现的函数,主要用来检测数据的有效性。
复制代码 代码如下:
function UserAddVerify() {
    var userName = document.getElementById("TxtUserName").value;
    var password = document.getElementById("TxtUserPassword").value;
    var repassword = document.getElementById("TxtUserPasswordConfirm").value;
    var identity = document.getElementById("TxtUserIdentity").value;
    var mobile = document.getElementById("TxtUserMobile").value;
    var realName = document.getElementById("TxtUserRealName").value;
    var btnSave = document.getElementById("btnSave");
    var identityReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    var mobileReg = /1[3-8]+\d{9}/;
    if (userName == "" || userName == null) {
        alert("用户名不能为空");
        return false;
    }
    else if (password == "" || password == null) {
        alert("密码不能为空");
        return false;
    }
    else if (repassword == "" || repassword == null || repassword != password) {
        alert("对不起,两次输入密码不一样");
        return false;
    }
    else if (identity == "" || identity == null || identityReg.test(identity) === false) {
        alert("请输入合法的身份证号码");
        return false;
    }
    else if (mobile == "" || mobile == null || mobileReg.test(mobile) == false) {
        alert("请输入合法的手机号码");
        return false;
    }
    else if (realName == "" || realName == null) {
        alert("姓名不能为空");
        return false;
    }
    return true;
}

上面的return ture和false是很重要的,这决定了是否往下执行,往下执行就应该是将数据提交到后台处理数据。当返回true时,后台执行button1_Click这个方法(事件)。

希望本文所述对大家的asp.net程序设计有所帮助。

相关文章

  • asp.net core 实现一个简单的仓储的方法

    asp.net core 实现一个简单的仓储的方法

    本篇文章主要介绍了asp.net core 实现一个简单的仓储的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • .NET CPU爆高事故事故分析某供应链WEB网站

    .NET CPU爆高事故事故分析某供应链WEB网站

    这篇文章主要为大家介绍了.NET CPU爆高事故事故分析某供应链WEB网站,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • .Net Core中使用EFCore生成反向工程

    .Net Core中使用EFCore生成反向工程

    这篇文章介绍了.Net Core中使用EFCore生成反向工程的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • ASP.Net 分页控件源码

    ASP.Net 分页控件源码

    由于.net自带的分页功能极其死板,自定义性不强不能满足需求 俺花了一个多星期的时间 写成的一个.net分页控件
    2007-03-03
  • vscode extension插件开发详解

    vscode extension插件开发详解

    这篇文章主要介绍了vscode extension插件开发,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • .net core并发请求发送HttpWebRequest的坑解决

    .net core并发请求发送HttpWebRequest的坑解决

    这篇文章主要给大家介绍了关于.net core并发请求发送HttpWebRequest的坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12
  • 详解log4net的使用

    详解log4net的使用

    这篇文章主要介绍了log4net的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • asp.net GridView控件鼠标移动某行改变背景颜色(方法一)

    asp.net GridView控件鼠标移动某行改变背景颜色(方法一)

    asp.net GridView控件鼠标移动某行改变背景颜色
    2009-12-12
  • ASP.NET MVC5验证系列之Remote Validation

    ASP.NET MVC5验证系列之Remote Validation

    这篇文章主要为大家详细介绍了ASP.NET MVC5验证系列之Remote Validation,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • .NET垃圾回收GC诊断工具dotnet-gcmon使用

    .NET垃圾回收GC诊断工具dotnet-gcmon使用

    这篇文章主要介绍了.NET垃圾回收GC诊断工具dotnet-gcmon使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-11-11

最新评论