2014-02-13 54 views
0

在此之后guideline,我已经创建了自己的用户控制和注册到webconfig:在Home.ascx我已经包括为什么我无法访问我自己的用户控件?

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

    } 

    public int MyProp { get; set; } 
} 

这样的:

<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

你拖着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> 
+1

正如我说我regitered它里面的web.config。所以,我不再需要把它注册页面,每次:'<添加的TagPrefix = “myOwnControls” 变量名= “LinkBoxAttivita” SRC = “〜/用户控件/ LinkBoxAttivita.ascx”/>' – markzzz

+0

@markzzz:哎呀,对不起,忽略它。你提到你已经遵循了一个指南(意大利btw),你能告诉你如何注册它吗?因为一定有区别,否则就会起作用。此外,'用户控件'嵌套?我在问,因为这是一个问题,接受的答案提到了嵌套控件的问题。 http://stackoverflow.com/questions/680519/in-web-config-is-it-possible-to-register-all-user-controls-in-specified-director –

+0

你是什么意思与“嵌套”。我添加了如何在web.config中配置它。我将它包含在另一个UserControl Home.ascx(在另一个文件夹中)。 – markzzz

相关问题