DHTML技巧--中止网页的提交

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 yolle 的 blog

asp.net改变了我们的编程方法,使得开发bs程序更加简单。但如果大量使用服务器控件势必会造成网页频繁提交,操作极不友好,也增加了服务器的负担。把一些必要的验证工作放在客户端执行,只有通过验证时才进行提交,就可以大大减少网页的刷新次数。

例如当我们按下“删除”按钮时,先在客户端进行一下确认:弹出一个“是否真的要删除”的对话框。当用户按下“是”是才提交至服务器执行删除程序。如果按下否,则终止后绪的提交动作。提交是不要进行太多可考虑,因为服务器的按钮控件是会自动完成,现在我给大家介绍终止提交的方法:

在dhtml中,每一个事件的处理都可以用return false来终止后绪动作的执行。如<body oncontextmenu = “javascript: return false;”>可以禁止页面上的右键菜单。对于服务器的按钮来说,我们可以在第一次载入时(pageload)服务器端给它加入一个onclick属性用来执行客户端角本: this.delbutton.attribute.add(”onclick”, “javascript:return delconfirm();”);在用户按下“删除”按钮时,它会先执行客户的的delconfirm()函数。注意:红色字体的javascript:return (用来接收函数的返回结果)及;号(按钮的提交动作将以角本方式注册在止之;号之后,如果不用;号来隔开将会出现语法错误)是必须的。而在客户端的函数中必须要有返回结果,其中return false;将终止后面的角本操作,而其它返回结果将继续执行。

这样删除处理的完整方法如下:

服务器端:

private void page_load()

{

    ...

    if (!this.ispostback)

    {

      ...

      this.delbutton.attribute.add(“onclick“, “javascript:return delconfirm();“);

      ...
    }

    ...
}

...

private void delbutton_click(object sender, eventargs e)

{

    ...
}

...

客户端:

...

<script language=javascript>

function delconfirm()

{

    return confirm(“你真的要删除吗?“);
}

</script>

...

本文关键:DHTML技巧--中止网页的提交
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top