灵活运用__doPostBack函数

在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack这个函数,所以灵活运用这个函数对于我们的帮助还是很大的。

比如,在我们写程序的时候经常会需要动态的生成一些控件,最简单的方法就是通过一个字符串,比如string strButton  =  <input type =”button” ID=”button1”>,然后输出到页面,但是如果我们需要这个控件来执行一些服务器的功能,就比较困难了。这里我们就可以用过借用__doPostBack这个函数来完成。接下来我觉个例子来说明一下具体如何调用。

既然要在服务器端运行那么,我们可以声明一个不可见的LinkButton控件,那通常,我们希望一个控件不可见,通常都是把visible属性设为false。但是在这里我们把LinkButton的Text属性设置为空,来是这个LinkButton不可见(为什么要这么设置,而不是直接设置visible属性,我会在下面说明),接下来我们可以在LinkButton里面写一些服务器端的代码。然后就是如何通过我们动态生成的客户端控件来调用LinkButton里面的功能,我们可以通过一个JavaScript函数来实现

function ExcuteOnServer()
{
  //第一个参数是你希望提交到服务器的控件的ID号,第二个参数是事件参数
   __doPostBack('LinkButtonID','');
}

接下去我们只需要在动态生成的这个Button控件的onclick事件中写上οnclick=”JavaScript:ExcuteOnServer();“,这样当我们点击这个动态生成的客户端控件的时候,他便会执行LinkButton中的代码。

这样便实现了动态生成的客户端控件提交到服务器端的功能。

最后要说一下的就是为什么希望LinkButton控件不可见的时候,不是通过visible属性来完成的。因为当我们把visible属性设置为false的时候,浏览器在解析的时候,根本不会把这个控件放在页面上,也就是说这个控件是不存在的,所以我们在调用__doPostBack函数的时候,便会找不到控件。在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack这个函数,所以灵活运用这个函数对于我们的帮助还是很大的。

比如,在我们写程序的时候经常会需要动态的生成一些控件,最简单的方法就是通过一个字符串,比如string strButton  =  <input type =”button” ID=”button1”>,然后输出到页面,但是如果我们需要这个控件来执行一些服务器的功能,就比较困难了。这里我们就可以用过借用__doPostBack这个函数来完成。接下来我觉个例子来说明一下具体如何调用。

既然要在服务器端运行那么,我们可以声明一个不可见的LinkButton控件,那通常,我们希望一个控件不可见,通常都是把visible属性设为false。但是在这里我们把LinkButton的Text属性设置为空,来是这个LinkButton不可见(为什么要这么设置,而不是直接设置visible属性,我会在下面说明),接下来我们可以在LinkButton里面写一些服务器端的代码。然后就是如何通过我们动态生成的客户端控件来调用LinkButton里面的功能,我们可以通过一个JavaScript函数来实现

function ExcuteOnServer()
{
  //第一个参数是你希望提交到服务器的控件的ID号,第二个参数是事件参数
   __doPostBack('LinkButtonID','');
}

接下去我们只需要在动态生成的这个Button控件的onclick事件中写上οnclick=”JavaScript:ExcuteOnServer();“,这样当我们点击这个动态生成的客户端控件的时候,他便会执行LinkButton中的代码。

这样便实现了动态生成的客户端控件提交到服务器端的功能。

最后要说一下的就是为什么希望LinkButton控件不可见的时候,不是通过visible属性来完成的。因为当我们把visible属性设置为false的时候,浏览器在解析的时候,根本不会把这个控件放在页面上,也就是说这个控件是不存在的,所以我们在调用__doPostBack函数的时候,便会找不到控件。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值