【问题标题】:Accessing an ASP.Net user control访问 ASP.Net 用户控件
【发布时间】:2011-01-07 17:20:42
【问题描述】:

大家好,
我创建了一个 CustomFileUpload 类,它继承自原始 FileUpload 类,我不得不说它实际上不是 UserControl 它是一个简单的类,可以在下面看到

using System;
using System.Web;

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

我需要知道如何在我的页面中使用该控件,可能在我们创建用户控件时类似于<@Registe ...

【问题讨论】:

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


    【解决方案1】:

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

    你想用来把控件放在页面上的语法是:

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

    然后就可以引用控件了:

    <myControl:CustomFileUpload .... />
    

    一个简单的方法是将控件添加到您的工具箱中。然后您可以将控件从工具箱拖到任何页面上。注册将自动创建。将控件添加到工具箱

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

    【讨论】:

      【解决方案2】:

      你可以这样做:

      <%@ 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" ... />
      

      【讨论】:

        【解决方案3】:

        你需要把你的类放在一个命名空间中并像这样注册它

        <%@ 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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多