访问ASP.Net用户控件

时间:2011-01-07 17:20:42

标签: c# asp.net user-controls custom-server-controls

嘿伙计们,
我创建了一个继承自原CustomFileUpload类的FileUpload类,我不得不说它实际上不是UserControl它是一个简单的类,可以在下面看到< / p>
using System;
using System.Web;

public class CustomFileUpload : System.Web.UI.WebControls.FileUpload
{
    public string Directory { get; set; }
}

我需要知道如何在页面中使用控件,当我们创建用户控件时可能会使用<@Registe ...

3 个答案:

答案 0 :(得分:2)

这称为自定义服务器控件。您可以深入了解walkthrough。您需要将服务器控件驻留在与项目分开的程序集中,然后将程序集引用到项目中。

您要用于将控件放在页面上的语法是:

<%@ Register Assembly="YourAssemblyName" TagPrefix="myControl" Namespace="YourNamespaceName"%>

然后你可以参考控件:

<myControl:CustomFileUpload .... />

执行此操作的简便方法是将控件添加到工具箱中。然后,您可以将控件从工具箱拖到任何页面上。将自动创建注册表。将控件添加到工具箱

  1. 右键单击控件应驻留的工具箱选项卡,选择选择项目。 (您可以创建新选项卡或使用现有选项卡。)
  2. 选择浏览
  3. 浏览并选择您的程序集,单击“打开”
  4. 您的控件现在应显示在工具箱标签中。

答案 1 :(得分:1)

你可以这样做:

<%@ Register TagPrefix="my" Namespace="My.Namespace" Assembly="MyAssembly" %>

您也可以在配置级别执行此操作:

<system.web>
  <pages>
    <controls>
      <add tagPrefix="my" namespace="My.Namespace" assembly="MyAssembly" />
    </controls>
  </pages>
</system.web>

然后在您的页面中使用:

<my:CustomFileUpload runat="server" ... />

答案 2 :(得分:1)

您需要将您的类放在命名空间中并像这样注册

<%@ Register tagprefix="tagprefix" Namespace="Your Namespace" Assembly="The Assembly" %>

然后你可以像这样使用控件

<tagprefix:CustomFileUpload runat="server" />

http://msdn.microsoft.com/en-us/library/c76dd5k1(v=VS.100).aspx