为什么复选框不能保持它的价值?

时间:2015-12-14 07:07:03

标签: c# asp.net c#-4.0 gridview webforms

我遇到了一个有趣的问题。

我在gridview中有一个复选框(在MODAL中)。在CLosingModal事件中,我正在获取Checkbox,但它显示为FALSE,即使我检查True。

为什么?

<asp:TemplateField HeaderText="Conveyed ?">
  <ItemTemplate>
      <asp:CheckBox ID="chkBoxIsConveyed" runat="server" Checked='<%# Convert.ToBoolean(Eval("IsConveyed")) %>' />
         </ItemTemplate>
</asp:TemplateField>

的.cs

protected void btnCloseModal_Click(object sender, EventArgs e)
    {
        mdlLastHearingDates.Hide();

        UpdateIsConveyed();

    }

public void UpdateIsConveyed() 
    {
        foreach (GridViewRow r in grdViewLastHearingDates.Rows)
        {
            int CaseHearingID = Convert.ToInt32(r.Cells[0].Text);
            CheckBox chkBox = r.FindControl("chkBoxIsConveyed") as CheckBox;

            MngCaseHearings.UpdateCasesIsConveyed(CaseHearingID, chkBox.Checked);
        }
    }

我调试了它并调用了函数。

1 个答案:

答案 0 :(得分:0)

尝试将AutoPostBack值设置为true,我相信当您选中复选框时,它不会触发事件来更新模型。有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkbox.autopostback(v=vs.110).aspx