我有两个按钮和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
包装在btn-search
中,以便在使用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>
时在GridView中进行数据绑定时不会刷新整个页面。< / p>
gridview1
当数据绑定到btn-search
时,this.btn_export.Enabled = true
仍然被禁用。
我尝试在GridView和UpdatePanel事件中编写OnDataBound
,例如OnDataBinding
,OnRowDataBound
,public function exportReferral($sourceRef){
ob_end_clean();
ob_start(); //At the very top of your program (first line)
\Excel::create('ViecBonus ' . 'referal report', function($excel) use ($sourceRef) {
$excel->sheet('ViecBonus Data', function($sheet) use ($sourceRef) {
$sheet->fromModel($sourceRef);
});
})->export('xlsx');
}
,但它仍无效。
答案 0 :(得分:0)
Grayfield,它不起作用,因为当您单击搜索按钮时,只更新更新面板内容。 尝试在更新面板的ContentTemplate中添加按钮,它应该可以工作。