.net 4とc#を使用して、データベースからGridViewにデータを取得し、返された行数を表示しようとしています。また、結果をフィルタリングするためにSqlDataSourceのControlParametersとして使用されるドロップダウンリストがあります。
これは最初のページの読み込みでは正常に機能しますが、ドロップダウンから何かを選択すると、結果はフィルタリングされますが、行数は変わりません。ドロップダウンから別の項目を選択すると、行数が更新されますが、前の値に対して正しい数になります。
<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>
Selectステートメント:
<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にまったく慣れていないので、明らかなことを見逃しても驚かないでしょう。