文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Asp.Net关于ASP.NET调用JavaScript的实现
精品推荐
特别推荐
·技巧实例:ASP.NET生成静态页面实现方法
·ASP.NET、JSP及PHP之间的抉择
·.net基础知识错误注意二十二点知识
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·.NET基础知识-什么是.NET
·初学C#+ASP.NET+Oracle时积累的备忘点滴
·专家详解:复杂表达式的执行步骤
·asp.net中的加密方法
·DataGrid常见关注问题解决方案
·学习笔记 ASP.NET 5种页面转向法
·ASP.NET网络编程中经常会用到的27个函数集
·ASP.NET之上传文件管理策略
·专家:用.NET动态创建类的实例讲解
·ASP.NET WEB服务和Flash打造MP3播放器
·精通ASP.NET中弹出窗口技术
·asp.net常用代码
·asp.net创建文件夹的IO类的问题
·Asp.Net函数集
·Asp.net cache 简述
·如何最大限度提高.NET的性能 (续)
热点TOP10
·AspNetPager分页控件--使用方法
·ASP.NET购物车的实现及结算处理
·ASP.NET结合存储过程写的通用搜索分页程序
·ASP.Net程式中调用FCKeditor接口
·.NET Framework 3.5多国语言包
·ASP.NET2.0的multiview和wizard控件
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·在ASP.NET中把图片保存到SQL SERVER数据库(vb.net)
·通过避免下列10个常见ASP.NET缺陷使网站平稳运行
·.NET基础知识-什么是.NET
·在C#中把两个DataTable连接起来
·VS2005+Crystal Report开发Web应用
·asp.net(C#)海量数据表高效率分页算法(不使用存储过程)
·IFontDisp和CFontHolder的使用问题
·获得一个DataTable中的奇数行和偶数行
·调试ASP.NET程序时出现“The Project Is Not Configured to Be Debugged”错误信息
·ADO.NET 2.0 DataSet和DataTable 新功能新特性
·用C#写计算器程序
·VC#中使用Crystal Report
·ASP.NET:使用DataTable对象保存数据

关于ASP.NET调用JavaScript的实现

日期:2006年12月25日 作者: 查看:[大字体 中字体 小字体]


本文结合示例讲述了在ASP.net应用程序中如何利用客户端的Javascript脚本提高程序的执行效率并实现更多的功能。

一、ASP.Net与Javascript

.Net是微软公司下一代的战略核心,ASP.Net是.Net战略在Web开发方面的具体实现。它继承了ASP的简单性和易用性,同时克服了ASP程序结构化较差,难于阅读和理解的缺点。特别是服务器端控件和事件驱动模式的引入,使得Web应用程序的开发更接近于过去桌面程序的开发。

在各种各样介绍ASP.Net的文章和书籍中,都把重点放在了服务器控件和.Net Framework SDK上,因为这是ASP.Net中最新和最具革命性的改进;与此相反,在过去的Web开发中占据重要地位的客户端脚本Javascript(也包括VBScript)则鲜有提及,似乎有了服务器端程序,已经不需要客户端脚本了。但是,服务器端的程序毕竟需要一次浏览器与Web服务器的交互,对于ASP.Net来说,就是一次页面的提交,需要来回传送大量的数据,而很多工作,比如输入验证或者删除确认等,完全可以用Javascript来实现。因此,探讨在ASP.Net中如何使用Javascript仍然很有必要。


二、Javascript的应用示例

1.为页面上的某个服务器控件添加Javascript事件

服务器控件最终生成的仍然是普通的HTML,比如<asp:textbox>生成input text。表单中的每个HTML控件都有它自己的Javascript事件,比如Textbox有onchange事件,Button有onclick事件,Listbox有onchange事件等。要想为服务器控件添加客户端的事件,需要用到Attributes属性。Attributes属性是所有的服务器控件都有的一个属性,它用来为最终生成的HTML添加自定义的一些标记。假设Web Form上有一个保存按钮btnSave,希望在用户点此按钮时提示用户是否确实要保存(比如一旦保存就无法恢复等),则应在Page_Load事件中添加如下代码:

if not page.isPostBack() then

btnSave.Attributes.Add(“onclick”,”Javascript:return confirm(‘Are you sure to save?’);”)

end if

要注意的是‘return’,这是不可省的,否则即使用户点了取消,数据仍然会保存。


2.为Datagrid中的每一行添加Javascript事件

假设Datagrid的每一行有一个删除按钮,希望在用户点此按钮时提示用户是否确实要删除此条记录,以防用户点错了行,或仅仅是无意中点了删除按钮。

无论这个删除按钮是什么名字,都不能象上个例子那样直接引用,因为每一行都有这样一个按钮,它们是Datagrid中的子控件。在这种情况下,需要用到Datagrid的OnItemDataBound事件。OnItemDataBound事件发生在Datagrid的每一行数据绑定到Datagrid之后(即一行激发一次)。首先在Datagrid的声明中添加如下代码:

<asp:datagrid id="grd1" runat="server" OnItemDataBound = "ItemDataBound" >

…Columns definition here

</asp:datagrid> 此处说明OnItemDataBound事件发生时调用ItemDataBound方法,在代码后置文件中添加此方法的定义:


Sub ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)

If e.Item.ItemType <> ListItemType.Header And e.Item.ItemType <> ListItemType.Footer Then

Dim oDeleteButton As LinkButton = e.Item.Cells(5).Controls(0)

oDeleteButton.Attributes("onclick") = "javascript:return Confirm ('Are you sure you want to delete" & DataBinder.Eval(e.Item.DataItem, "m_sName") & "?')"

End If

End Sub

由于Datagrid的标题行和脚注行也会激发此事件,所以首先判断激发此事件的行不是标题行和脚注行。这里假设Delete按钮位于Datagrid的第6列(第一列是0),且Datagrid的Datasource中包含名为”m_sName”的列


3.引用编辑状态下的Datagrid中的控件

Datagrid的内置编辑功能使得当记录的字段较少时的一种编辑方法。用户不必进入一个单独的页面编辑记录,而是直接点编辑按钮就可以使当前行进入编辑模式。而另一方面,有一些Javascript程序需要引用控件的名称。比如,很多程序在需要用户输入日期时都提供一个日期控件以保证日期格式的合法性,当用户点控件图标时弹出一个新窗口供用户选择日期。此时需要把显示日期的文本框的ID提供给新窗口,以便当用户选择日期后值可以回填到文本框中。

如果是普通的服务器文本框控件,它的ID与生成的HTML输入框的ID是相同的;但是在Datagrid的编辑状态下,两个ID并不相同(其道理与上例相同),这就需要用到控件的ClientID属性。

Protected Sub ItemEdit(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)

Dim sDateCtrl as string

sDateCtrl = grd1. Items (e.Item.ItemIndex) . Cells(2). FindControl("txtDate") . ClientID

End Sub

这里假设ItemEdit方法是Dategrid的OnItemEdit事件处理程序,同时在Datagrid的第三列包含一个名为txtDate的服务器文本框控件。



[1] [2] 下一页 




上一篇:VB.Net基本语句

下一篇:C#实现类似qq的屏幕截图程序

关于ASP.NET调用JavaScript的实现 相关文章:
·关于三级片和A片的区分标准
·在PB中如何实现数据模糊查询
·Ajax实现分页查询
·PB动态报表格式自由定义的实现
·PB程序中在普通激光打印机上实现条码打印
·Java语言实现支持视频点播的WEB服务器
·Delphi中利用钩子实现QQ聊天窗口的修改
·用PM实现无损调整磁盘分区
·EasyJWeb Tools业务引擎中分页的设计及实现
·用ASP实现分页的源码
关于ASP.NET调用JavaScript的实现 相关软件:
·TCP-IP详解卷2:实现
·Aerial Antics(实现你的飞翔梦) V1.0
·关于十二正经与奇经八脉动画
·关于中国
·关于生命与生活的寓言
·关于对《中华人民共和国进出口税则》的税目、税率进行调整
·关于注册土木工程师(水利水电工程)的水利部文件
·关于注册土木工程师(岩土)注册工作的补充通知
·关于注册土木工程师(水利水电)考试
·ASP.NET下MVC设计模式的实现

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot