繁体   English   中英

用户控制类型在母版页中的功能

[英]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在这种情况下,您的代码将无法工作。

那应该怎么办呢?

  1. 检查lcont.ascx页的第一行。 有一个名为Inherit的属性。 检查其值,该值应为lcont而不是foldername_lcont
  2. 检查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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM