关于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再执行后台程序的方法。分享给大家供大家参考。具体分析如下: 在.net中要实现button控制点击之后先执行js再执行后台程序这个看上去没什么难度,这里我们就一起来看一个...
在ASP.NET开发中,GRID控件是一个非常常用的数据展示和操作工具,特别是在Web应用程序中处理表格数据时。本文将深入探讨如何在使用GRID控件进行数据删除操作时添加确认提示,以防止用户意外删除重要信息。 一、ASP...
在源代码中,我们创建`<asp:DropDownList ID="DropDownList1" runat="server">`,然后在后台代码或ASP.NET的代码块中填充数据源。这通常通过`DataSource`属性和`DataBind()`方法实现。 HtmlImage控件,虽然在.NET中...
执行顺序是先执行客户端事件,再执行服务器端事件。如果希望先执行服务器端事件,然后再调用客户端代码,可以使用`RegisterStartupScript`方法在服务器端代码中插入JavaScript代码。例如: ```csharp protected ...
服务器控件是ASP.NET服务器控件,是服务器端ASP.NET网页上的对象,当用户通过浏览器请求ASP.NET网页时,这些控件将在服务器上运行,并向客户端呈现HTML标记。在ASP.NET页面上,服务器控件表现为一个标记,例如 `<asp...
【ASP.NET 开发和使用Web用户控件】 在ASP.NET框架中,Web用户控件是开发者构建可重用UI组件的重要工具。这篇文章将详细介绍如何创建、使用和扩展Web用户控件,以满足复杂的网页开发需求。 1. **简介** 当内置的...
在Asp.Net开发中,创建自定义控件可以极大地提高代码复用性和应用程序的灵活性。本文将深入探讨如何创建一个自定义控件,该控件是基于GridView的,实现了翻页无刷新的功能,同时兼容IE和Firefox浏览器。我们将讨论这...
ASP.NET AJAX(Asynchronous JavaScript and XML)是一种微软提供的技术,用于构建富客户端应用程序,它可以为Web应用程序带来类似于桌面应用的用户体验。此技术的核心是ASP.NET AJAX库,它包含了一组客户端脚本库和...
此技术的核心是ASP.NET AJAX库,它包含了一组客户端脚本库和服务器端控件,使得开发人员能够轻松地在网页中实现异步更新和交互。 标题"ASP.NET AJAX控件应用配置"指的是如何在ASP.NET环境中配置和使用AJAX控件。...
ASP.NET中的FileUpload控件是用于处理用户上传文件的关键组件,尤其在开发涉及用户交互的Web应用程序时。在这个教程中,我们将深入探讨如何使用FileUpload控件实现单个和多个图片(或指定文件)的上传。 一、单个...
这些对话框通常是JavaScript库,如jQuery UI或Bootstrap模态对话框,与后端Asp.net服务器端代码结合使用。下面将详细讨论Asp.net中弹出对话框的应用和实现方式。 1. **Asp.net Web Forms中的弹出对话框** 在Asp...
3. ASP.NET控件:如Label、Button、TextBox等,这些控件提供了丰富的交互功能,可以通过拖放方式在设计视图中使用,并且有内置的事件处理机制。 4. C#或VB.NET编程:作为ASP.NET的后台语言,C#或VB.NET用于编写...
在创建后台管理界面时,我们通常会涉及数据绑定技术,这是.NET Web Forms和ASP.NET MVC中的核心特性。通过将控件与数据源(如SQL Server数据库)绑定,我们可以动态地填充和更新界面内容。比如,使用GridView控件...
在ASP.NET框架中,控件是构建网页的基本构建块,可以是服务器控件、HTML控件或自定义控件。下面我们将深入探讨ASP.NET控件开发的相关知识点。 一、服务器控件 服务器控件是ASP.NET中最常见的控件类型,它们在服务器...
AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下更新部分网页的技术,而ASP.NET是微软的Web应用程序开发框架,提供了丰富的服务器控件和事件驱动模型。ASP.NET AJAX是ASP.NET框架对AJAX...
3. **服务器控件**:ASP.NET提供了丰富的服务器控件,如`TextBox`(用于输入)和`Button`(用于触发操作)。这些控件在服务器端具有生命周期,并能自动处理与客户端的交互。 4. **状态管理**:由于Web的无状态性,...
这可以通过自定义ASP.NET服务器控件实现,例如使用Label控件显示文本,Image控件显示头像,TextBox控件供用户输入消息,Button控件触发消息发送。 3. **实时通信**:实现在线客服的关键在于实现实时通信。可以使用...
2. 设计用户界面:在.ascx文件中,可以直接拖放ASP.NET的基本控件,如Label、Button、TextBox等,并设置它们的属性,构建出用户控件的外观。 3. 编写后台代码:与用户控件对应的.cs或.vb文件用于编写控件的逻辑代码...