`
jeelee
  • 浏览: 637681 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

asp.net服务器控件button先执行js再执行后台的方法

 
阅读更多
关于button这个服务器控件,我一直想减少它向服务器提交数据。那些检测,还是在客户端实现就好了。
这就需要javascript,但是我发现仅仅有javascript还是不够的。button服务器控件的单击事件叫“onClick”,
所以javascript就无法使用这个事件。因为重名了。我想实现的是单击button的时候,先执行客户端的javascript代码,然后再执行后台事件。
如果使用的是html控件,就不存在这种问题了。但是,我就是想实现服务器控件的这一功能,有时候服务器控件也是很好用的。
先给aspx页面增加一个服务器控件button

<asp:Button ID="btnSave" runat="server" Text="保存"  
                    OnClick="btnSave_Click" class="inputbutton"></asp: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中button控制先执行js再执行后台程序的方法

    本文实例讲述了asp.net中button控制先执行js再执行后台程序的方法。分享给大家供大家参考。具体分析如下: 在.net中要实现button控制点击之后先执行js再执行后台程序这个看上去没什么难度,这里我们就一起来看一个...

    asp.net GRID控件删除之前确认.rar

    在ASP.NET开发中,GRID控件是一个非常常用的数据展示和操作工具,特别是在Web应用程序中处理表格数据时。本文将深入探讨如何在使用GRID控件进行数据删除操作时添加确认提示,以防止用户意外删除重要信息。 一、ASP...

    .NET HTML控件练习

    在源代码中,我们创建`&lt;asp:DropDownList ID="DropDownList1" runat="server"&gt;`,然后在后台代码或ASP.NET的代码块中填充数据源。这通常通过`DataSource`属性和`DataBind()`方法实现。 HtmlImage控件,虽然在.NET中...

    VS ASP.NET中的button点击触发事件

    执行顺序是先执行客户端事件,再执行服务器端事件。如果希望先执行服务器端事件,然后再调用客户端代码,可以使用`RegisterStartupScript`方法在服务器端代码中插入JavaScript代码。例如: ```csharp protected ...

    【ASP.NET编程知识】asp.net基础学习之控件的使用方法.docx

    服务器控件是ASP.NET服务器控件,是服务器端ASP.NET网页上的对象,当用户通过浏览器请求ASP.NET网页时,这些控件将在服务器上运行,并向客户端呈现HTML标记。在ASP.NET页面上,服务器控件表现为一个标记,例如 `&lt;asp...

    Asp.Net自定义控件之翻页无刷新GridView

    在Asp.Net开发中,创建自定义控件可以极大地提高代码复用性和应用程序的灵活性。本文将深入探讨如何创建一个自定义控件,该控件是基于GridView的,实现了翻页无刷新的功能,同时兼容IE和Firefox浏览器。我们将讨论这...

    asp.net ajax控件说明程序

    ASP.NET AJAX(Asynchronous JavaScript and XML)是一种微软提供的技术,用于构建富客户端应用程序,它可以为Web应用程序带来类似于桌面应用的用户体验。此技术的核心是ASP.NET AJAX库,它包含了一组客户端脚本库和...

    ASP.NET AJAX控件应用配置

    此技术的核心是ASP.NET AJAX库,它包含了一组客户端脚本库和服务器端控件,使得开发人员能够轻松地在网页中实现异步更新和交互。 标题"ASP.NET AJAX控件应用配置"指的是如何在ASP.NET环境中配置和使用AJAX控件。...

    ASP.NET中上传控件FileUpload的使用

    ASP.NET中的FileUpload控件是用于处理用户上传文件的关键组件,尤其在开发涉及用户交互的Web应用程序时。在这个教程中,我们将深入探讨如何使用FileUpload控件实现单个和多个图片(或指定文件)的上传。 一、单个...

    Asp.net弹出对话框控件

    这些对话框通常是JavaScript库,如jQuery UI或Bootstrap模态对话框,与后端Asp.net服务器端代码结合使用。下面将详细讨论Asp.net中弹出对话框的应用和实现方式。 1. **Asp.net Web Forms中的弹出对话框** 在Asp...

    纯asp.net课堂练习

    3. ASP.NET控件:如Label、Button、TextBox等,这些控件提供了丰富的交互功能,可以通过拖放方式在设计视图中使用,并且有内置的事件处理机制。 4. C#或VB.NET编程:作为ASP.NET的后台语言,C#或VB.NET用于编写...

    .NET网站后台控件

    在创建后台管理界面时,我们通常会涉及数据绑定技术,这是.NET Web Forms和ASP.NET MVC中的核心特性。通过将控件与数据源(如SQL Server数据库)绑定,我们可以动态地填充和更新界面内容。比如,使用GridView控件...

    asp.net 控件开发

    在ASP.NET框架中,控件是构建网页的基本构建块,可以是服务器控件、HTML控件或自定义控件。下面我们将深入探讨ASP.NET控件开发的相关知识点。 一、服务器控件 服务器控件是ASP.NET中最常见的控件类型,它们在服务器...

    Asp.Net 配套Ajax控件

    AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下更新部分网页的技术,而ASP.NET是微软的Web应用程序开发框架,提供了丰富的服务器控件和事件驱动模型。ASP.NET AJAX是ASP.NET框架对AJAX...

    ASP.NET制作的一个在线计算器

    3. **服务器控件**:ASP.NET提供了丰富的服务器控件,如`TextBox`(用于输入)和`Button`(用于触发操作)。这些控件在服务器端具有生命周期,并能自动处理与客户端的交互。 4. **状态管理**:由于Web的无状态性,...

    ASP.NET开发在线客服控件

    这可以通过自定义ASP.NET服务器控件实现,例如使用Label控件显示文本,Image控件显示头像,TextBox控件供用户输入消息,Button控件触发消息发送。 3. **实时通信**:实现在线客服的关键在于实现实时通信。可以使用...

    asp.net源码用户控件

    2. 设计用户界面:在.ascx文件中,可以直接拖放ASP.NET的基本控件,如Label、Button、TextBox等,并设置它们的属性,构建出用户控件的外观。 3. 编写后台代码:与用户控件对应的.cs或.vb文件用于编写控件的逻辑代码...

Global site tag (gtag.js) - Google Analytics