ASP.NET中常用的JavaScript操作

原创 2004年09月16日 16:47:00

1.为button控件添加确认功能

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

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

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

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

Datagrid中的子控件是没办法直接访问的,要实现上面的那种效果,我们需要用到Datagrid的OnItemDataBound事件。OnItemDataBound事件发生在Datagrid的每一行数据绑定到Datagrid之后(即一行激发一次)。首先在Datagrid的声明中添加OnItemDataBound属性,如下:

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

private void OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
   {
        if(e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Footer )
        {
            LinkButton btnSave = (LinkButton)e.Item.Cells[2].Controls[0];
      string strClientID = btnSave.ClientID; //得到该控件的客户端ID,可供JavaScript调用

            btnSave.Attributes.Add("onclick","Javascript:return confirm('Are you sure to save?');");
        }
}

由于Datagrid的标题行和脚注行也会激发此事件,所以首先判断激发此事件的行不是标题行和脚注行。这里假设btnSave按钮位于Datagrid的第3列(第一列是0)。

3.在Javascript中触发服务器端控件事件

让我们再来考虑第一个实例,我们为保存按钮增加了确认功能,只有在用户确认后才会执行保存操作,用户不确认的话就不执行,如果我们想要用户按下“取消”时,执行另外的操作怎么办呢?这就要需要用JS来回调(PostBack)服务器端控件完成操作。

当前页面中有一个DropDownList控件ddlTest,Button按钮btnSave.当选择ddlTest时触发onchange事件,保存当前的选择值,在保存前会让操作者先确认,用户确认则保存,否则转向default.aspx页。

在Page_Load事件中添加如下代码:

    string strCMD = Page.GetPostBackClientHyperlink( btnSave, "" );
    string script = @"Javascript:ConfirmUpdate(""EVAL_MESSAGE"");";
    script = script.Replace( "EVAL_MESSAGE" , strCMD );

    ddlTest.Attributes.Add("onchange",script);

这段代码执行后生成的select控件将是这样:

〈select name="ddlTest" id="ddlTest" onchange="Javascript:ConfirmUpdate("javascript:__doPostBack('btnSave','')");" 〉

ConfirmUpdate函数如下

〈SCRIPT language=javascript〉
    function ConfirmUpdate(cmd){
    if(confirm("Are you sure to update?"))
   {
       eval(cmd);
    }
    else
    {
        window.location.href="default.aspx"
    }
   }
 〈/SCRIPT〉

这里利用了Javascript eval函数来调用一个字符串中包含的命令。需注意的是包含命令的字符串不能用单引号括起来,因为自动生成的脚本中包括单引号,所以这里用两个双引号表示字符串本身的双引号。

javascript数组常用操作

js的数组和python的list一样可以存不同类型不同维度个数据,除了可以用下标查看修改数据外,还有几个方法: push():加到最后 pop(): 从最后取 shift(): 从开头取 unsh...
  • hk2291976
  • hk2291976
  • 2016年09月17日 11:36
  • 491

ASP.NET 后台调用前台javascript 的方法

从服务端调用客户端函数来操作,也就是在asp.net中调用javascript脚本中已经定义好的脚本函数。一般有以下几种方法 1. Response.Write : 比如在你单击按钮,先操作...
  • softuse
  • softuse
  • 2016年10月09日 11:35
  • 1177

Asp.Net 如何调用js中的函数function ?

http://bbs.csdn.net/topics/330215458 1、直接在前台调用 javascript 函数  很简单,在 head 元素之间加入 script 元素,将 ty...
  • DJ2008
  • DJ2008
  • 2013年09月28日 17:34
  • 5434

asp.net常用操作

ASP。NET面面传参(2009-02-07 15:43:29)标签:杂谈   分类:Asp.net  asp.net 中传参的方法有几种 具体用法,总结一下,希望自己不要犯类似的错误! 1,Q...
  • xiaoleiping
  • xiaoleiping
  • 2013年10月25日 23:55
  • 329

Javascript 文件操作(整理版)

Javascript 文件操作   一、功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。...
  • luopeiyuan1990
  • luopeiyuan1990
  • 2013年08月08日 09:47
  • 1747

常用ASP.NET操作类

using System; using System.Data; using System.Configuration; using System.Web; using System.Web....
  • fwx02
  • fwx02
  • 2013年02月18日 13:03
  • 278

Asp.net如何操作Word文档

引用Word对象库文件 具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组...
  • jkpi888
  • jkpi888
  • 2013年12月04日 23:52
  • 1373

js常用功能汇总

1.多个class节点遍历: $(".department").each(function() { var $this = $(this); alert($this.val())...
  • tomcat_2014
  • tomcat_2014
  • 2016年04月15日 19:08
  • 2172

19 个常用的 JavaScript 简写方法

(点击上方公众号,可快速关注)作者:SangSirhttps://segmentfault.com/a/11900000126738541.三元操作符当想写 if...else 语句时,使用三元操作符...
  • VhWfR2u02Q
  • VhWfR2u02Q
  • 2018年01月07日 00:00
  • 181

ASP.NET MVC4 乱七八糟罗列

一、ASP.NET MVC概述1、什么是ASP.NET MVC?ASP.NET MVC是微软官方提供的MVC模式编写ASP.NET Web应用程序的一个框架。是微软继ASP.NET WebForm后的...
  • taomanman
  • taomanman
  • 2016年09月19日 10:29
  • 1068
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET中常用的JavaScript操作
举报原因:
原因补充:

(最多只允许输入30个字)