Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么复选框不维护它';s值多少?_C#_Asp.net_C# 4.0_Gridview_Webforms - Fatal编程技术网

C# 为什么复选框不维护它';s值多少?

C# 为什么复选框不维护它';s值多少?,c#,asp.net,c#-4.0,gridview,webforms,C#,Asp.net,C# 4.0,Gridview,Webforms,我遇到了一个有趣的问题 我在gridview中有一个复选框(在模态中)。在CLosingModal事件中,我正在提取复选框,但它显示FALSE,即使我选中True 为什么? <asp:TemplateField HeaderText="Conveyed ?"> <ItemTemplate> <asp:CheckBox ID="chkBoxIsConveyed" runat="server" Checked='<%# Convert.ToBool

我遇到了一个有趣的问题

我在gridview中有一个复选框(在模态中)。在CLosingModal事件中,我正在提取复选框,但它显示FALSE,即使我选中True

为什么?

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

我进行了调试,它调用了函数。

尝试将AutoPostBack值设置为true,我相信当您选中复选框时,它不会触发事件来更新模型。有关更多信息,请参阅

尝试与所做操作相反的操作。首先更新数据,然后隐藏模式。好的,等等,先生,我正在尝试抱歉,先生,但是没有运气:/t尝试绑定而不是评估。对于双向数据绑定,您需要使用绑定。@NitinAlapati不工作否;it’这不是真的,它确实触发了事件并仔细阅读了我的问题I’我想你指的事件是UpdatesMidered()?但这不是我想说的,我的意思是复选框事件。好的,让我进一步解释。您将该值绑定到UI(客户端脚本),并且希望从代码隐藏(服务器端脚本)获取更新后的值,然后需要在执行选中复选框操作时将该值发回服务器,因此,您需要将AutoPostBack属性添加到复选框并将其设置为true。
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);
        }
    }