我有两个按钮和GridView分别是:
<asp:Button ID="btn-search" runat="server" OnClick=btn_search_Click />
<asp:Button ID="btn-export" runat="server" OnClick=btn_export_Click />
<asp:GridView ID="gridview1" runat="server" />
btn-search
是一个控件,用于将数据gridview1
从绑定到SqlDataSource
。btn-export
在禁用,Page_Load
并gridview1
在至少有一行时启用(btn-export
如果没有数据/行,将保持禁用状态gridview1
)。
首先,我在下面的代码中编写了此代码:
protected void btn_search_Click(object sender, EventArgs e)
{
/* Binding data to GridView */
if (this.gridview1.Rows.Count > 0)
{
this.btn_export.Enabled = true;
}
}
而且有效。
但是,然后我必须将换行gridview1
,UpdatePanel
这样在GridView中使用btn-search
as绑定数据时就不会刷新整个页面AsyncPostBackTrigger
。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Button ID="btn-search" runat="server" OnClick=btn_search_Click />
<asp:Button ID="btn-export" runat="server" OnClick=btn_export_Click />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="gridview1" runat="server">
<Columns>
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn_search" />
</Triggers>
</asp:UpdatePanel>
当数据绑定到时gridview1
,btn-search
仍被禁用。我试着写this.btn_export.Enabled = true
在GridView和UpdatePanel的事件,例如OnDataBound
,OnDataBinding
,OnRowDataBound
但它仍然没有奏效。
Grayfield,它不起作用,因为当您单击搜索按钮时,仅更新面板内容被更新。尝试在更新面板的ContentTemplate中添加按钮,它应该可以工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句