OnClick是button的服务器端事件 OnClientClick是button的客户端事件 一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则OnClick失效。当返回false时OnClick服务器端事件才被中止,当你的js验证有错误,也会跳过验证,直接执行服务器端事件OnClientClick。为了避免这样的错误,可以考虑用服务端验证这样就省去了OnClientClick事件,就不用考虑和OnClick的冲突了。但是从性能上,服务端验证,耗费了服务器资源,呵呵,一般是没问题的,只是和客户端验证比较而已,各有所长,各有所短。 例如下: try2.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="try2.aspx.cs" Inherits="try2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > 后台代码:try2.aspx.cs: using System; public partial class try2 : System.Web.UI.Page } 可测试发现如果try2.aspx 中OnClientClick="checkname()" ,没有"return ",客户端和服务器端都执行操作。 所以上例应带“return”,当姓名输入为空时,不至于执行服务器端的"Button1_Click"事件。即OnClientClick="return checkname()" |
服务器端验证TextBox 以及客户端验证控件
最新推荐文章于 2019-01-08 01:54:04 发布