javaScript与asp.net 1获取clientid 我们可以通过表达式语句和JavaScript组合得到这个控件的客户端ID,如下: 1 OK,这好象可以满足我们的需求,我们可以测试GetClientID方法以验证此方案的正确性,结果为ValidateGrid。 3为页面上的某个服务器控件添加Javascript事件 服务器控件最终生成的仍然是普通的HTML,比如生成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’,这是不可省的,否则即使用户点了取消,数据仍然会保存。 32.为Datagrid中的每一行添加Javascript事件 假设Datagrid的每一行有一个删除按钮,希望在用户点此按钮时提示用户是否确实要删除此条记录,以防用户点错了行,或仅仅是无意中点了删除按钮。 无论这个删除按钮是什么名字,都不能象上个例子那样直接引用,因为每一行都有这样一个按钮,它们是Datagrid中的子控件。在这种情况下,需要用到Datagrid的OnItemDataBound事件。OnItemDataBound事件发生在Datagrid的每一行数据绑定到Datagrid之后(即一行激发一次)。首先在Datagrid的声明中添加如下代码: …Columns definition here 此处说明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”的列
javaScript与asp_net-clientid用法
最新推荐文章于 2012-12-24 10:04:15 发布