Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)归海一刀
published in(发表于) 2014/1/30 1:28:57
javascript在asp.ne中的应用_[Asp.Net教程]

javascript在asp.ne中的应用_[Asp.Net教程]
本文简单讨论在ASP.Net中插入Javascript的几种情况。合理地在服务器程序中插入客户端的Javascript脚本,可以提高程序的运行效率并提供更友好的用户界面。

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

ifnotpage.isPostBack()then

btnSave.Attributes.Add(“onclick”,”Javascript:returnconfirm(‘Areyousuretosave?’);”)

endif

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


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

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

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



…Columnsdefinitionhere

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

SubItemDataBound(ByValsenderAsObject,ByValeAsDataGridItemEventArgs)

Ife.Item.ItemType<>ListItemType.HeaderAnde.Item.ItemType<>ListItemType.FooterThen
DimoDeleteButtonAsLinkButton=e.Item.Cells(5).Controls(0)

oDeleteButton.Attributes("onclick")="javascript:returnConfirm(’Areyousureyouwanttodelete"&DataBinder.Eval(e.Item.DataItem,"m_sName")&"?’)"

EndIf

EndSub

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

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

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



If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759