ASP.NET GridView下拉框选中时启用/禁用对应行备注文本框
在ASP.NET GridView中通过DropDownList选中状态控制备注TextBox的启用/禁用
要实现当GridView第7列的ddl_each_asset_status下拉框触发SelectedIndexChanged事件时,控制当前行最后一列的txtrmrks文本框启用或禁用,可通过以下后台代码实现:
protected void ddl_each_asset_status_SelectedIndexChanged1(object sender, EventArgs e) { // 获取触发事件的DropDownList控件实例 DropDownList ddl = sender as DropDownList; if (ddl == null) return; // 获取当前下拉框所在的GridView行 GridViewRow row = ddl.NamingContainer as GridViewRow; if (row == null) return; // 查找当前行中的备注TextBox控件 TextBox txtRemarks = row.FindControl("txtrmrks") as TextBox; if (txtRemarks == null) return; // 根据下拉框选中值设置文本框的只读状态 // 示例逻辑:选中值为"0"时禁用文本框,其他情况启用 txtRemarks.ReadOnly = ddl.SelectedValue == "0"; }
补充说明
- 需确保前端的
ddl_each_asset_status控件已设置AutoPostBack="true",否则无法触发服务器端的SelectedIndexChanged事件。 - 代码中增加了空值判断,避免因控件查找失败引发空引用异常,提升代码健壮性。
内容的提问来源于stack exchange,提问作者spruless
相关产品推荐
相关产品推荐

