【发布时间】:2017-07-03 13:57:50
【问题描述】:
我有一个 Gridview,它有两个按钮 Edit 和 Delete。
在编辑时,行命令会调用一个名为“Populate()”的函数,该函数会填充位于面板中网格上方的表单(设置为 visible = true )。
问题:
我有一个复选框“cbX”、一个文本框“txtX”和一个下拉列表“ddlX”(Visible = false)
如果选择了 cbX => ddlX.Visible = true 和 txtX.Enabled = false(我有一个 onCheckChangeed 函数)
当我选择在网格中编辑最初具有 cbX.Checked = true 的条目时,当用户尝试取消选中该复选框时,我会遇到问题。没有返回错误,当我需要它来隐藏 ddlX 并启用 txtX 时,它根本不会调用 onCheckChanged
<asp:TextBox runat="server" ID="txtX" Width="180px"></asp:TextBox>
<asp:CheckBox runat="server" ID="cbX" AutoPostBack="true" Text="Unable to Obtain " OnCheckedChanged="cbX_CheckedChanged" />
<asp:DropDownList runat="server" ID="ddlX" DataTextField="Name" DataValueField="Code" AppendDataBoundItems="True" OnSelectedIndexChanged="ddlX_SelectedIndexChanged" Width="350px" AutoPostBack="true" CausesValidation="true" Enabled="false" Visible="false"></asp:DropDownList>
【问题讨论】:
-
将你的
DataBind绑定到if (!isPostBack)到Page_Load -
关心详细说明它是如何影响它的。 “if (! IsPostBack)”也包含一个填充网格的函数。我应该在那里绑定什么?注意:在页面加载时,我指定的 3 个字段是隐藏的,直到用户选择从网格中编辑一个字段。 @Asif.Ali
-
唯一的问题是当我选择编辑字段后取消选中复选框(第一次)时,checkchanged 事件没有被触发,但在选中和取消选中后工作正常。
-
这是因为
CheckBox不是gridview 控件。您必须在 gridViewRowBinding事件中附加OnCheckChanged事件。
标签: c# asp.net gridview oncheckedchanged