chiname

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

doPostBack()无效?

doPostBack()无效?

有的时候想在客户端触发服务器端控件的click事件
我们这么写__doPostBack('id','')
但是为什么有的时候会实效?
因为__doPostBack()函数并没有在页面产生
(如果没有类似linkbutton等控件的话asp.net引擎不产生这段js)
解决方法如下:
比如前台页面

<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>

(1)

<href="#" onclick="document.getElementById('Button1').click()">触发服务器端按钮事件</a>

(2)
利用GetPostBackEventReference给客户端生成__doPostBack()
前台

<href="#" onclick="<%=PostBack()%>">触发服务器端按钮事件</a>

后台

protected string PostBack()
        
{
            
return this.Page.GetPostBackEventReference(this.Button1,"haha");
        }
通过__EVENTARGUMENT="haha"可以判断是不是点了那个链接的PostBack
把Button1的按钮事件这么写:
if(Request["__EVENTARGUMENT" ]=="haha")
            
{
                Response.Write(
"这个是链接的PostBack");
            }

            
else
            
{
                Response.Write(
"这个不是链接的PostBack");
            }
posted on 2005-04-18 13:02 lovecherry 阅读(767) 评论(6)  编辑 收藏

Feedback

# re: (论坛答疑点滴)__doPostBack()无效? 2005-04-18 13:23 小残
<a href="#" onclick="document.getElementById('Button1').click()">触发服务器端按钮事件</a>
应该可以写成<a href="document.getElementById('Button1').click()" >触发服务器端按钮事件</a>吧?
  

# re: (论坛答疑点滴)__doPostBack()无效? 2005-04-18 13:30 lovecherry
<a href="javascript:document.getElementById('Button1').click()" >触发服务器端按钮事件</a>
  

# 难点集粹[TrackBack] 2005-04-18 14:08 雨花中的小皮鞋
Ping Back来自:blog.csdn.net
雨花中的小皮鞋引用了该文章,地址:http://blog.csdn.net/seaonce/archive/2005/04/18/352608.aspx
  

# 难点集粹[TrackBack] 2005-04-18 14:08 雨花中的小皮鞋
Ping Back来自:blog.csdn.net
雨花中的小皮鞋引用了该文章,地址:http://blog.csdn.net/seaonce/archive/2005/04/18/352593.aspx
  

# 难点集粹[TrackBack] 2005-04-18 14:09 雨花中的小皮鞋
Ping Back来自:blog.csdn.net
雨花中的小皮鞋引用了该文章,地址:http://blog.csdn.net/seaonce/archive/2005/04/18/352614.aspx
  

# 难点集粹[TrackBack] 2005-04-18 14:09 雨花中的小皮鞋
Ping Back来自:blog.csdn.net
雨花中的小皮鞋引用了该文章,地址:http://blog.csdn.net/seaonce/archive/2005/04/18/352586.aspx
posted on 2005-07-11 11:22  把我的欢乐带给你  阅读(686)  评论(0)    收藏  举报