[英]Function of user-control type in a master page
我有一个名为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>
这是其背后的代码:
public lcont getlcont()
{
return lcont1;
}
实际上,我想要的是在ASPX页面中访问用户控件的ID。 用户控件当然包含在母版页中。 除此之外,我还需要解决什么问题?
如果您已经在母版页中实现了lcont
,那么您肯定可以将公共功能lcont
类型。
您执行此操作的方式绝对正确-确切应该如何执行。
据我所知,我认为问题出在用户控件的类名上。 您在public函数中使用的lcont
应该是lcont
用户控件的类名。 但有时类名不是用户控件的文件名。 我的意思是,如果您的文件名为lcont.ascx
,则假定该类名称为lcont
在这种情况下,您的代码将起作用; 但有时类名是foldername_usercontrolfilename
在这种情况下,您的代码将无法工作。
那应该怎么办呢?
lcont.ascx
页的第一行。 有一个名为Inherit
的属性。 检查其值,该值应为lcont
而不是foldername_lcont
。 lcont.ascx.cs
文件中的类声明。 它可能是public partial class foldername_lcont : System.Web.UI.UserControl
。 将其更改为public partial class lcont : System.Web.UI.UserControl
。 现在,您的母版页将识别lcont
。
有关更多信息,请参见https://unschoolingcode.wordpress.com/2014/10/16/accessing-usercontrols-id-in-the-aspx-page/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.