易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.Net中OnClientClick与OnClick


在web开发中,经常要用到控件的OnClientClick与OnClick事件.
如果使用不当,经常会遇到一些意料之外的事情发生,让人摸不着头脑.下面就将我的一些小小总结道来:
首先我们要了解这两个事件:
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.
OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行.
如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢.
OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资源,而且用户体验不好...
例:
//jsDel()为一javascript函数.
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="删除" OnClientClick="return jsDel();" OnClick="btnDel_Click1" />
需要注意的是当我们当击这个按钮时,自动先执行的客户端,再执行服务器端的.如果客户端返回的是false,那么服务器端对应的方法永远不会执行.这样就达到检测,只有通过才去执行服务器端的方法.
也就是说如果我们上面写成:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="删除" OnClientClick="jsDel(); return false;" OnClick="btnDel_Click1" />
那么不管jsDel执行的结要如何.服务器端对应的btnDel_Click1方法都永远不会执行.因为return false使得始终使客户端返回false
如果我们写成:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="删除" OnClientClick="jsDel();"OnClick="btnDel_Click1" />
那么btnDel_Click1都有会发生.同样也就达不到效果.也就是说你没有通过检测也去执行服务器的方法了.
所以必须注意了.
当然我们还可以通过btn.Attribute.add()的方法来进行类似的处理


相关文档:

ASP.NET网站建设之代码分离

在我们传统的网站建设中通常是先设计网站页面,再利用开发工具,在网站的框架内进行功能设计。这样的网站建设存在很多弊端,其中最突出的缺点是不利于小组共同开发,各环节之间依赖性太强。
在ASP.NET中我们可以利用后台编码,把HTML用户界面设计(颜色、美学等)与页面代码区分开来。这样就可以解决我们小组的并行开发问 ......

ASP.NET"正在中止线程"错误原因

PRB:在使用 Response.End、Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException
症状
如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。
原因
Response.End 方法终止页的执行,并将此执行切换到应用程序 ......

Asp.Net中OnClientClick与OnClick (转)

在web开发中,经常要用到控件的OnClientClick与OnClick事件.
如果使用不当,经常会遇到一些意料之外的事情发生,让人摸不着头脑.下面就将我的一些小小总结道来:
首先我们要了解这两个事件:
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.
OnClick事件是服务器端事件处理 ......

ASP.NET(C#)返回上一页(后退)代码(转载)

ASP.NET(C#)返回上一页(后退)代码
2008-08-10 10:32
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        ViewState["BackUrl"] = Request.UrlReferrer.ToString();
    }
}
/// <s ......

asp.net 开发常用的方法二

asp.net 开发中常用的一些方法总结虽然写的不好,但很实用
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Net;
using System.Text.RegularExpressions;
using System.Web.UI;
using System.Web.SessionState;
using System.Web.UI.WebControls;
using Syst ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号