FindControl of a Textbox in a UserControl OnRowUpdate

本文关键字:UserControl OnRowUpdate in Textbox of FindControl | 更新日期: 2023-09-27 18:35:06

嗨,单击更新并触发OnRowUpdate事件后出现错误。在用户控件中获取文本框值的正确格式是什么?

错误 55"System.Web.UI.UserControl"不包含 "PlanID"和没有接受第一个参数的扩展方法"PlanID" 可以找到类型为"系统.Web.UI.UserControl"(您是否缺少 使用指令或程序集引用

protected void grd_Plan_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string PlanCode =((UserControl)Grid_Plan.Rows[e.RowIndex].FindControl("ucPlanID")).PlanID;
        }
//usercontrol code behind
public string PlanID
        {
            get
            {
                return txtPlanID.Text;
            }
            set
            {
                txtPlanID.Text = value;
            }
        }

FindControl of a Textbox in a UserControl OnRowUpdate

试试这个:-

UserControl ucPlanID = (UserControl)Grid_Plan.Rows[e.RowIndex].FindControl("ucPlanID");
if (ucPlanID != null)
{
   string PlanCode = ((TextBox)ucPlanID.FindControl("PlanID")).Text;
}

考虑到文本框的 ID PlanID

您需要使用 ClientId 访问该控件。请注意,如果较新的 .Net 框架版本,则可以将客户端 ID 模式设置为静态,这将确保客户端 ID 和您为控件指定的名称相同。