【问题标题】:Why I can't access to my own User Control?为什么我无法访问我自己的用户控件?
【发布时间】:2014-02-13 09:18:00
【问题描述】:

按照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>

【问题讨论】:

    标签: c# .net webforms user-controls


    【解决方案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>
    

    【讨论】:

    • 正如我所说,我在 web.config 中重新提交了它。所以我不再需要将它注册到页面,每次:&lt;system.web&gt;&lt;pages&gt;&lt;controls&gt;&lt;add tagPrefix="myOwnControls" tagName="LinkBoxAttivita" src="~/usercontrols/LinkBoxAttivita.ascx" /&gt;&lt;/controls&gt;&lt;/pages&gt;&lt;/system.web&gt;
    • @markzzz:哎呀,对不起,忽略了它。你提到你已经遵循了一个指导方针(顺便说一句是意大利语),你能说明你是如何注册的吗?因为必须有区别,否则它会起作用。另外,User Controls 是嵌套的吗?我问是因为这是一个问题,其中接受的答案提到了嵌套控件的问题。 stackoverflow.com/questions/680519/…
    • “嵌套”是什么意思。我在 web.config 中添加了我的配置方式。我将它包含在另一个 UserControl Home.ascx 中(在另一个文件夹中)。
    • 现在我明白他所说的嵌套是什么意思了。但不应该是一个问题,因为 3° 点。 Home.ascx(在 /context 中)和用户控件(在 /usercontrol 中)已经在不同的地方。
    • 哦,等等,现在可以了吗?似乎 Visual Studio 已经从噩梦中醒来? :O
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多