在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>
答案 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>