为了维护老旧的asp.net webform系统,今天发现一个问题:asp.net页面没有自动生成__doPostBack方法,提示该js方法不存在。于是在网上找了大量的方法,基本上都说是IE的问题,可我用的是Chrome呀。正在寻找方法的时候,突然发现,是不是需要新增一个asp.net服务器控件,asp.net才会解析并自动生成__doPostBack方法呢?本来该列表页面是包含了一个服务器分页控件的,还是新增一个LinkButton吧,在后台代码里面写上其点击方法,在.aspx页面将其隐藏。经过测试,当前列表页面果然自动生成了__doPostBack方法。
在.aspx和.cs页面加入了下面代码后,运行时会自动生成__doPostBack方法。
.aspx页面
<div style="display: block;"> <asp:LinkButton ID="btn" runat="server" OnClientClick="return PostBack('btn');" OnClick="btn_Click"></asp:LinkButton> </div>
.cs页面
protected void btnDelete_Click(object sender, EventArgs e) {}