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

时间:2014-02-13 09:18:00

标签: c# .net webforms user-controls

guideline之后,我创建了自己的用户控件并注册到了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>

1 个答案:

答案 0 :(得分:-1)

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

How to: Include a User Control in an ASP.NET Web Page

示例(来自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>