繁体   English   中英

为什么我无法访问自己的用户控件?

[英]Why I can't access to my own User Control?

按照此指南 ,我创建了自己的用户控件并注册到了webconfig中:

public partial class usercontrols_LinkBoxAttivita : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public int MyProp { get; set; }
}

在Home.ascx上,我包含了以下内容:

<myOwnControls:LinkBoxAttivita ID="LinkBoxAttivita1" runat="server" />

它起作用,并且被渲染。 现在,为什么在Home.ascx.cs的代码背后我无法访问它?

LinkBoxAttivita1似乎不存在。 我想从这里设置MyProp值。

这是我注册的方式:

<system.web>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
        <controls>
            <add tagPrefix="myOwnControls" tagName="LinkBoxAttivita" src="~/usercontrols/LinkBoxAttivita.ascx" />
        </controls>
    </pages> 
</system.web>

您是否已将UserControl拖到设计器中? 否则,设计人员将不会创建@Register指令,该指令是页面识别用户控件所必需的。

如何:在ASP.NET网页中包含用户控件

示例(来自MSDN):

<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc" TagName="Spinner" 
    Src="~/Controls/Spinner.ascx" %>
<html>
<body>
<form runat="server">
    <uc:Spinner id="Spinner1" 
        runat="server" 
        MinValue="1" 
        MaxValue="10" />
</form>
</body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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