繁体   English   中英

会话变量更新,但不刷新gridview

[英]Session variables updating, but not refreshing gridview

我有一个GridView,其中有两个会话变量用于过滤select语句( TimeStartTimeFinish )。 我有一个默认值,它们在GridView中显示正确的信息。

我有两个ASP TextBoxes,其TextMode设置为Time,我需要更新这些值。 这些会更新会话变量(已设置要检查的标签值),但未更新GridView的select语句。

我在同一页上为另一个GridView做了相同的事情,唯一的区别是Int32中的会话变量是通过GridView的IndexChanged事件设置的,并且对于为什么它不适用于此事件感到困惑。

GridView的来源:

<asp:GridView ID="gvAvailableVets" runat="server" AutoGenerateColumns="False" DataKeyNames="VetID" DataSourceID="AvailableVetsDataSource">
        <Columns>
            <asp:BoundField DataField="VetID" HeaderText="VetID" ReadOnly="True" SortExpression="VetID" />
            <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
            <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
            <asp:BoundField DataField="MobileNumber" HeaderText="MobileNumber" SortExpression="MobileNumber" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="AvailableVetsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:VetPracticeConnectionString %>" SelectCommand="SELECT DISTINCT Veternarians.VetID, FirstName, LastName, MobileNumber FROM dbo.Veternarians
INNER JOIN dbo.VetHours
ON Veternarians.VetID = VetHours.VetID
INNER JOIN dbo.Appointments
ON Veternarians.VetID = Appointments.VetID
WHERE @beginTime &gt; VetHours.StartTime
AND  @endTime &lt; VetHours.EndTime
AND (@beginTime &gt; Appointments.EndTime
OR @endTime &lt; Appointments.BeginTime) ">
                <SelectParameters>
                    <asp:SessionParameter DefaultValue="9:00" Name="beginTime" SessionField="TimeStart" Type="String" />
                    <asp:SessionParameter DefaultValue="10:00" Name="endTime" SessionField="TimeFinish" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>

TextBoxes的C#代码后面:

protected void txtTimeBegin_TextChanged(object sender, EventArgs e) {
    Session["TimeStart"] = txtTimeBegin.Text;
    // Used for debugging
    lblDebug.Text = Session["TimeStart"].ToString();
}

protected void txtTimeEnd_TextChanged(object sender, EventArgs e) {
    Session["TimeFinish"] = txtTimeEnd.Text;
}

当任何textbox值更改时,尝试重新绑定Gridview

 protected void txtTimeBegin_TextChanged(object sender, EventArgs e) 
 {
  Session["TimeStart"] = txtTimeBegin.Text;
  gvAvailableVets.DataBind();
// Used for debugging
  lblDebug.Text = Session["TimeStart"].ToString();
 }
 protected void txtTimeEnd_TextChanged(object sender, EventArgs e) 
 {
  Session["TimeFinish"] = txtTimeEnd.Text;
  gvAvailableVets.DataBind();
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM