RegisterStartupScript(key, script) RegisterClientScriptBlock(key, script) 这两个方法都接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括 <script> 的起始标记和终止标记。第一个参数 key 是插入的客户端脚本的唯一标识符。 这两个方法唯一的不同之处在于从“何处”发送脚本块。RegisterClientScriptBlock() 在 Web 窗体的开始处(紧接着 <form runat="server"> 标识之后)发送脚本块,而 RegisterStartupScript() 在 Web 窗体的结尾处(在 </form> 标识之前)发送脚本块。 为什么会有两种不同的方法来发送客户端脚本?要更好地了解这一点,我们必须首先了解,客户端脚本可以分为两类:一类是在加载页面后立即运行的代码,一类是在发生某些客户端事件时才运行的代码。前者的常见示例是将焦点设置到文本框的客户端代码。例如,当您访问 Google 时,在页面加载后就会执行一小段客户端代码,以自动将焦点设置到搜索文本框。 ......
RegisterStartupScript() 方法可用于添加要在加载页面后运行的脚本块。通过这种方法添加的脚本块位于 Web 窗体的结尾处,因为必须在脚本运行前定义脚本要修改的 HTML 元素。也就是说,如果您要使用客户端脚本将焦点设置到文本框,必须确保文本框的 HTML 标记位于设置该文本框的焦点的脚本之前。 RegisterClientScriptBlock() 方法用于为响应客户端事件而执行的脚本代码。通过此方法发送的脚本块位于 Web 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后。
一般都使用以下几种方法.
1) Button.Attributes.Add("onclick","javascript:return confirm('确定?');");
这种方法..现在使用最的多..
在www.csdn.net里有一文章就很好.
http://www.csdn.net/Develop/Read_Article.asp?Id=20892
大家可以看一下..会有很多收获.
2)另一个方法..我不知道其它人有没有这么用.不过我是这么用的..很偷懒的办法京是
<div id=div1 onclick="javascript:return confirm('确定?');"><asp:button id="Button1" runat="server" Text="Button"></asp:button></div>
这个一样能实现..而且不用增加服务器的动作...不过有没有其它后果..就不..知道了..
在DataGrid中一样在Button列中使用属性编辑器在文本(t)中写入
<div id=div1 onclick="javasciprt:return confrim(确定?')">删除</div>就能在DataGrid中实现删除确认的功能..当然如果每行删除不一样你就得用其它方法了.
http://www.csdn.net/Develop/Read_Article.asp?Id=20892
中一样有介绍.
3)可能有时候大家会这样的用处..就是你点击导入数据的Button的按钮后..希望能弹出一个alert('数据导入完成!')这样的信息.
这里就得用另外的方法了..可能很多人都知道就是使用.
Page.RegisterClientScriptBlock ();或Page.RegisterStartupScript();
这两一功能上相差不是很大...且配合.Page.IsClientScriptBlockRegistered()或Page.IsStartupScriptRegistered();来使用的
string scriptStr="<script language=javasciprt> alert('数据导放已完成')</"
sciprtStr+="sciprt>";
Page.RegisterStartupScript("alert1",sciprtStr);
就Ok了.
据说Page.RegisterClientScriptBlock ();比Page.RegisterStartupScript();好..
但我不知道原因,哪位能说一下最好啦.
RegisterClientScriptBlock(key, script) 这两个方法都接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括 <script> 的起始标记和终止标记。第一个参数 key 是插入的客户端脚本的唯一标识符。 这两个方法唯一的不同之处在于从“何处”发送脚本块。RegisterClientScriptBlock() 在 Web 窗体的开始处(紧接着 <form runat="server"> 标识之后)发送脚本块,而 RegisterStartupScript() 在 Web 窗体的结尾处(在 </form> 标识之前)发送脚本块。 为什么会有两种不同的方法来发送客户端脚本?要更好地了解这一点,我们必须首先了解,客户端脚本可以分为两类:一类是在加载页面后立即运行的代码,一类是在发生某些客户端事件时才运行的代码。前者的常见示例是将焦点设置到文本框的客户端代码。例如,当您访问 Google 时,在页面加载后就会执行一小段客户端代码,以自动将焦点设置到搜索文本框。
......
RegisterClientScriptBlock() 方法用于为响应客户端事件而执行的脚本代码。通过此方法发送的脚本块位于 Web 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后。