簡體   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