0
在我的gridview中,有一列IsYearly
。該值可以是1或0.asp.net GridView不顯示正確的數據,除非發回事件
在頁面加載時,所有數據的默認值爲0,但是當我更新數據時,gridview將成爲頁面加載時的值。
這裏是在GridView:
<asp:GridView ID="gridView_Holidays" runat="server" AutoGenerateColumns="False" Style="margin-right: 10px; margin-top: 0px;" AllowPaging="True" OnPageIndexChanging="grdHolidays_PageIndexChanging" OnRowDataBound="grdHolidays_RowDataBound" PageSize="10" CssClass="table-grid">
<Columns>
<asp:BoundField DataField="HolidayName" HeaderText="Name">
<HeaderStyle BackColor="#0078D7" ForeColor="White" Width="320px" />
<ItemStyle BackColor="White" ForeColor="Black" Width="320px" />
</asp:BoundField>
<asp:BoundField DataField="HolidayDate" HeaderText="Date">
<HeaderStyle BackColor="#0078D7" ForeColor="White" Width="256px" />
<ItemStyle BackColor="White" ForeColor="Black" Width="256px" />
</asp:BoundField>
<asp:BoundField DataField="HolidayID" HeaderText="Holiday ID">
<HeaderStyle BackColor="#0078D7" ForeColor="White" CssClass="HideControl" />
<ItemStyle BackColor="White" ForeColor="Black" CssClass="HideControl" />
</asp:BoundField>
<asp:BoundField DataField="HolidayIsYearly" HeaderText="Holiday Yearly">
<HeaderStyle BackColor="#0078D7" ForeColor="White" CssClass="HideControl" />
<ItemStyle BackColor="White" ForeColor="Black" CssClass="HideControl" />
</asp:BoundField>
<asp:TemplateField ItemStyle-Width="40px" HeaderText="" ItemStyle-CssClass="tblItem" HeaderStyle-CssClass="header">
<ItemTemplate>
<asp:ImageButton ID="imgBtnEditHoliday" runat="server" OnClick="lnkEditHoliday_Click" ImageUrl="~/Images/EDIT.GIF" ToolTip="Edit" />
<asp:ImageButton ID="imgBtnDeleteHoliday" runat="server" Width="16px" OnClick="lnkDeleteHoliday_Click" ImageUrl="~/Images/deleteuser.png" ToolTip="Delete" />
</ItemTemplate>
<HeaderStyle BackColor="#0078D7" ForeColor="White" Font-Size="Medium" />
<ItemStyle BackColor="White" ForeColor="Black" Font-Size="Medium" />
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
No results to show.
</EmptyDataTemplate>
</asp:GridView>
後面的代碼:
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
HolidayList();
imgBtnSearchApprover_Click(this, EventArgs.Empty);
}
}
public void HolidayList() {
Admin = new List<DTR_Admin>();
Admin = mServiceHoliday.GetList();
gridView_Holidays.DataSource = Admin;
gridView_Holidays.DataBind();
}
這是當我點擊保存按鈕,其中的gridview的(我認爲)將刷新,以便它顯示了發生了什麼正確的數據
protected void btnHolidaySave_Click(object sender, ImageClickEventArgs e) {
if (string.IsNullOrEmpty(txtHolidayName.Text) || string.IsNullOrEmpty(txtHolidayDate.Text)) {
lblCostCenterError.Text = "Please complete all fields.";
ModalPopupExtender2.Show();
}
else {
if (Admin.Exists(x => (Convert.ToDateTime(x.HolidayDate) == Convert.ToDateTime(txtHolidayDate.Text) && x.HolidayID != holidayID))) {
ClientScript.RegisterStartupScript(GetType(), "load", "alert('Date already exists.');", true);
ModalPopupExtender2.Show();
}
else {
DTR_HolidayService holidayService = new DTR_HolidayService();
DTR_Admin pEntity = new DTR_Admin();
pEntity.HolidayID = holidayID;
pEntity.HolidayDate = txtHolidayDate.Text;
pEntity.HolidayName = txtHolidayName.Text;
pEntity.HolidayIsYearly = cbYearly.Checked ? 1 : 0;
holidayService.EditHoliday(pEntity);
HolidayList();
}
}
}
我試了一下,現在所有的值設置爲1 – aronccs