C# 母版页中用户控件类型的功能
我有一个名为C# 母版页中用户控件类型的功能,c#,asp.net,user-controls,C#,Asp.net,User Controls,我有一个名为lcont.ascx的用户控制文件。此lcont已被拖到母版页中 现在我想在母版页中创建一个类型为lcont的公共函数,但是masterpage.cs无法识别lcont(在我构建时说,`找不到类型或命名空间lcont(您是否缺少using指令或引用)) 为什么??我以前用过这种方法,而且很有效 这是我的主页: <%@ Register src="Usercontrol/lcont.ascx" tagname="lcont" tagprefix="uc1" %> <
lcont.ascx
的用户控制文件。此lcont
已被拖到母版页中
现在我想在母版页中创建一个类型为lcont
的公共函数,但是masterpage.cs
无法识别lcont
(在我构建时说,`找不到类型或命名空间lcont(您是否缺少using指令或引用))
为什么??我以前用过这种方法,而且很有效
这是我的主页:
<%@ Register src="Usercontrol/lcont.ascx" tagname="lcont" tagprefix="uc1" %>
<div class="container" >
<form id="form1" runat="server">
<div class=" row ">
<div class="col-lg-12">
<uc3:Header ID="Header1" runat="server" />
</div>
</div>
<div class="col-lg-3" style=" background:rgb(245,245,245); margin-right:1%; min-height:500px; " >
<uc1:lcont ID="lcont1" runat="server" />
</div>
实际上,我想要的是在ASPX页面中访问用户控件的ID。用户控件当然包含在母版页中。除此之外,我还需要什么来解决这个问题呢?如果您已经在母版页中实现了
lcont
,那么您肯定可以公开该功能
属于lcont
类型
你做这件事的方式绝对正确——确切地说应该怎么做
据我所知,我认为问题在于用户控件的类名。在公共函数中使用的lcont
应该是lcont
用户控件的类名;但有时类名不是用户控件的文件名。我的意思是,如果您的文件名是lcont.ascx
,那么您假设类名是lcont
——在这种情况下,您的代码可以工作;但有时类名是foldername\u usercontrolfilename
——在这种情况下,代码将无法工作
那么应该怎么做呢
lcont.ascx
页面的第一行。有一个名为Inherit
的属性。检查其值,该值应为lcont
而不是foldername\u lcont
lcont.ascx.cs
文件中的类声明。它可能是公共部分类foldername\u lcont:System.Web.UI.UserControl
。将其更改为公共部分类lcont:System.Web.UI.UserControl
lcont
有关这方面的更多信息,请参见母版页如何不“识别”lcont?你有例外吗?这正是我的观点…母版页怎么可能不识别lcont。当我编译它时,它说
类型或命名空间lcont找不到(你是否缺少using指令或引用)
。然而有趣的是,当我在任何地方都没有定义用户控制时,键入lcont时,它会通过智能显示用户控制\u lcont
。如果我选择以web
或project
的方式执行项目,这有什么区别吗?创建用户控制后,您是否构建了解决方案?是的,我知道我们已经制定了解决方案
public lcont getlcont()
{
return lcont1;
}