我正在实例化一个asp:Button inside 数据绑定asp:GridView through 模板字段。有些按钮应该调用服务器端函数,但由于一些奇怪的原因,它没有。当你点击这些按钮时,所有的按钮都会触发一个到当前页面的回发,什么都不做,实际上只是重新加载页面。
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false" CssClass="l2 submissions" ShowHeader="false">
<Columns>
<asp:TemplateField>
<ItemTemplate><asp:Panel ID="swatchpanel" CssClass='<%# Bind("status") %>' runat="server"></asp:Panel></ItemTemplate>
<ItemStyle Width="50px" CssClass="sw" />
</asp:TemplateField>
<asp:BoundField DataField="description" ReadOnly="true">
</asp:BoundField>
<asp:BoundField DataField="owner" ReadOnly="true">
<ItemStyle Font-Italic="true" />
</asp:BoundField>
<asp:BoundField DataField="last-modified" ReadOnly="true">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="viewBtn" cssclass='<%# Bind("sid") %>' runat="server" Text="View" OnClick="viewBtnClick" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
上面的viewBtn应该在服务器端调用viewBtnClick()函数。我已经定义了这个函数,还有一个适当的签名(object,EventArgs)。值得注意的一点是,这段代码实际上在一个ASCX中,它被加载到另一个ASCX中,最后被加载到一个ASPX中。
对此事的任何帮助或见解都将不胜感激。谢谢!
(哦,请不要介意我无用的HTML/CSS语义-这还处于非常非常早期的阶段:p)