没有__doPostBack函数
你放一个linkbutton上去试试
你放一个linkbutton上去试试
解决方案 »
- iis安装包
- 【急】GridView + Xml 更新问题
- 请问高手如何解决.NET2.0中TreeView有N级子节点,而点最底层的节点TreeView就全部收缩的问题
- 请教个问题
- 关于混淆器的使用(及下载)
- 老大们看一下这个连接错在哪了(初学嘻嘻)
- 如何将我原有网站上的用户与当前论坛中的用户统一,类似于单点登陆?
- 忍不住了,问一下----要实现多条件查询,点击"增加条件按钮"就动态增加三个DropDownList和一个TextBox
- 简单问题:VBS中的待殊字符在ASP.NET中如何表示?
- vs2015对象的定义被隐藏
- 如何修改得到字段值?
- html中iframe嵌套aspx无法读取服务器控件
我们这么写__doPostBack('id','')
但是为什么有的时候会实效?
因为__doPostBack()函数并没有在页面产生
(如果没有类似linkbutton等控件的话asp.net引擎不产生这段js)
解决方法如下:
比如前台页面 <asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
(1)<a href="#" onclick="document.getElementById('Button1').click()">触发服务器端按钮事件</a>
(2)
利用GetPostBackEventReference给客户端生成__doPostBack()
前台 <a 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");
}