带有ID的WebControl在上下文后面的代码中不存在

本文关键字:代码 不存在 上下文 ID WebControl 带有 | 更新日期: 2023-09-27 18:17:38

我有一个网格视图:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyViewTemplate.ascx.cs" Inherits="usercontrols_MyViewTemplate" %>
    ...
<asp:TemplateField HeaderText="Estado" ItemStyle-Width="50px">
  <ItemTemplate>
    <asp:DropDownList ID="RiskWorkDropDownList" runat="server">
    </asp:DropDownList>
  </ItemTemplate>
</asp:TemplateField>

并且RiskWorkDropDownList不存在于上下文后面的代码中。为什么它不存在于后面的代码中?

带有ID的WebControl在上下文后面的代码中不存在

它嵌套在GridView中,这就是为什么它不能直接访问。你需要在

下面做一些事情
foreach(GridViewRow row in grdView.Rows)
{
       if(row.FindControl("RiskWorkDropDownList")!=null)
       {
              DropDownList ddlRisk = (DropDownList)row.FindControl("RiskWorkDropDownList");
        }
}