ASP.NET在网页方法aspx.cs中使用控件显示不存在的名称

问题遇到的现象和发生背景

ASP.NET在网页方法aspx.cs中使用控件显示不存在的名称

问题相关代码,请勿粘贴截图
<asp:DropDownList ID="ddlType" runat="server" Width="1244px" DataSourceID="LinqDataSource2" DataTextField="type_name" DataValueField="type_id" AutoPostBack="true" OnSelectedIndexChanged="ddlType_SelectedIndexChanged">
                </asp:DropDownList>

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            var types = from t in db.type
                        select new
                        {
                            t.id,
                            t.type_name
                        };

            foreach (var type in types)
            {
                ddlType.Items.Add(new ListItem(type.type_name.ToString(), type.id.ToString()));
            }
            Bind();
        }
    }
    private void Bind()
    {
        string filmType="未选择";
        int typeId = int.Parse(ddlType.SelectedValue);
        //获取typeid
        //在relationship和film查找
        var query = from r in db.relationship
                    join f in db.film on r.film_id equals f.id
                    join t in db.type on r.type_id equals t.id
                    where t.type_name == filmType
                    select new film { id = f.id, director = f.director, actor = f.actor, intro = f.intro, imag = f.imag, name = f.name };
    }
    

运行结果及报错内容

当前上下文中不存在“ddlType”

我的解答思路和尝试过的方法

尝试使用FindControl没有解决问题

我想要达到的结果

程序正常不报错

DropDownList控件删掉,再重新拖一个进去

后来发现是.aspx的interits错了

你好,
首先你要查看你的该aspx 文件中,是否存在 aspx.designer.cs 文件. 一般识别不出控件的原因是 丢失了这个文件.
解决办法一:
右击你的项目,选择转化为web 应用程序
解决办法二:
重新创一个新的项目, 复制你的代码到新的项目.

如果你有aspx.designer.cs 文件, 那么点开查看该文件里是否有 DropDownList 控件,就像这样:

protected global::System.Web.UI.WebControls.DropDownList DropDownList1;

如果没有,删了你项目中的DropDownList ,然后重新写一个.