ASP.NET - 通过读取更新面板内网格视图中的数据启用按钮
ASP.NET - Enabling button by reading data in Grid View inside Update Panel
我有两个按钮和 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
是将数据从 SqlDataSource
绑定到 gridview1
的控件。 btn-export
在 Page_Load
处禁用,当 gridview1
至少有一行时将启用(如果 [=15= 中没有 data/row,btn-export
将保持禁用状态=]).
起初我在后面的代码中写了这个:
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
作为 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
仍然被禁用。
我尝试在 GridView 和 UpdatePanel 事件中写入 this.btn_export.Enabled = true
,例如 OnDataBound
、OnDataBinding
、OnRowDataBound
,但它仍然无效。
Grayfield,它不起作用,因为当您单击搜索按钮时,只会更新更新面板的内容。
尝试在更新面板的 ContentTemplate 中添加按钮,它应该可以工作。
我有两个按钮和 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
是将数据从 SqlDataSource
绑定到 gridview1
的控件。 btn-export
在 Page_Load
处禁用,当 gridview1
至少有一行时将启用(如果 [=15= 中没有 data/row,btn-export
将保持禁用状态=]).
起初我在后面的代码中写了这个:
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
作为 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
仍然被禁用。
我尝试在 GridView 和 UpdatePanel 事件中写入 this.btn_export.Enabled = true
,例如 OnDataBound
、OnDataBinding
、OnRowDataBound
,但它仍然无效。
Grayfield,它不起作用,因为当您单击搜索按钮时,只会更新更新面板的内容。 尝试在更新面板的 ContentTemplate 中添加按钮,它应该可以工作。