使用.NET 4和C#我想从数据库中的数据到GridView和显示的行数返回。我还有一个下拉列表,用作SqlDataSource中的ControlParameters来过滤结果。Rows.Count与下拉列表
这适用于初始页面加载罚款,但是当我从下拉的结果进行过滤的东西,但行数不会改变。当我从下拉菜单中选择另一个项目时,行数会更新,但数字正确的是前一个值。
<h5> Showing <asp:Label ID="WOs_count" runat="server" Text="Label"></asp:Label> Work Orders.</h5>
<asp:DropDownList
ID="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem Value="%">All requests</asp:ListItem>
<asp:ListItem Value="BBTeam">BB Team</asp:ListItem>
</asp:DropDownList>
选择语句:
<asp:SqlDataSource
ID="WorkList"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT TASKS.WOID AS wo_id, Tasks.Completed AS 'Completed Date', Tasks.Respons AS 'Technician', FROM Tasks WHERE (Tasks.Completed>=DATEADD(day,-60,GETDATE())OR Tasks.Completed IS NULL) AND (Tasks.Respons LIKE @Respons) ">
<SelectParameters>
<asp:ControlParameter name="Respons" ControlID="DropDownList1" PropertyName="SelectedValue"/>
</SelectParameters>
</asp:SqlDataSource>
然后在后面的代码我有这样的:
protected void Page_Load(object sender, EventArgs e)
{
WOs_count.Text = WO_list.Rows.Count.ToString();
}
我完全新的.NET,如果我这样也不会感到惊讶错过了明显的东西
感谢马特,但仍然没有运气。第一个不会改变任何东西;第二给我一个错误:“'编译器错误消息:CS1061:‘ASP.bb_systems_counter_aspx’不包含一个定义为‘WO_list_DataBound’和没有扩展方法‘WO_list_DataBound’接受型的第一参数‘ASP.bb_systems_counter_aspx’可以发现(你是否缺少使用指令或程序集引用?)'' – GRegorious13
我明白了。我相信我有一个错字。对不起,但现在已经修好了。事件中的外壳是错误的...所以你试图覆盖OnPreRender和两段代码来绑定该事件? – Matt
你能发布更多的ASPX吗?至少asp:GridView打开服务器标签?另外,当我的编辑显示时,尝试将WO_list_DataBound上的访问修饰符从private更改为protected。 – Matt