none
用户控件的问题 RRS feed

  • 问题

  •  

    我想给用户控件一个统一的TagPrefix,想在配置文件里统一配置,查了一些东东如:

    <controls>

    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>

    </controls>

    我想知道的是在给用户控件,一个统一的TagPrefix名,可是我不知道namespace和assembly是什么?

    怎么写啊

    比如一个用户控件:

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EmployeeLogin.ascx.cs" Inherits="Easeland.Web.Modules.EmployeeLogin" %>
    <asp:Panel ID="Panel1" runat="server">

    </asp:Panel>

     


    大其心,可容天下之物; 虚其心,可受天下之善;
    2010年8月18日 6:07

答案

  • 你好

    如果你想 给用户控件一个统一的TagPrefix

    你可以嘗試用以下的CODE

    <%@ Register TagPrefix="asp" TagName="EmployeeLogin_Control" Src="~/EmployeeLogin.ascx" %>  

    解釋

    <%@ Register TagPrefix="TagPrefix 的名" TagName="你想用這個CONTROL 的名[可以自定的] " Src="你的用户控件的路徑" %>  

    你可以用 這個方法 便用這個 用户控件

    <asp:EmployeeLogin_Control ID="anything" runat="server" />

    Please correct me if my concept is wrong

     


    Chi
    • 已标记为答案 lfofiug 2010年8月18日 9:40
    2010年8月18日 7:32
  • namespace是命名空间,assembly是程序集,说白了就是dll,这个你可以看你UI层bin文件夹里dll的名称,这里假设是Modules

    <add namespace="Easeland.Web.Modules" assembly="Modules" tagPrefix="ajaxToolkit"/>

    试试吧,应该可以

    好吧,这是用户自定义控件,用户控件的正确方式见楼下……

    • 已标记为答案 lfofiug 2010年8月18日 9:40
    2010年8月18日 7:45
  • 注册了全局前缀后,在页面中使用控件的时候就不需要<%@ Register %>指令了,直接用<前缀:控件名 />就可以用了。

    就像是<asp:Button />这样的asp前缀一样使用就行。

    刚才发现理解错问题内容了!

    以下更正:

    用户控件的全局前缀注册方式是

    <controls>

    <add tagPrefix="前缀" src="~/SomeFolder/SomeUserControl.ascx" tagName="名称"/>

    </controls>

    使用的时候,页面不需要再注册用户控件,直接用以下形式使用:

    <前缀:名称 ID="suc1" runat="server" />

    注意哦,用户控件要放到别的目录下面

    • 已标记为答案 lfofiug 2010年8月18日 9:40
    2010年8月18日 7:56

全部回复

  • 你好

    如果你想 给用户控件一个统一的TagPrefix

    你可以嘗試用以下的CODE

    <%@ Register TagPrefix="asp" TagName="EmployeeLogin_Control" Src="~/EmployeeLogin.ascx" %>  

    解釋

    <%@ Register TagPrefix="TagPrefix 的名" TagName="你想用這個CONTROL 的名[可以自定的] " Src="你的用户控件的路徑" %>  

    你可以用 這個方法 便用這個 用户控件

    <asp:EmployeeLogin_Control ID="anything" runat="server" />

    Please correct me if my concept is wrong

     


    Chi
    • 已标记为答案 lfofiug 2010年8月18日 9:40
    2010年8月18日 7:32
  • namespace是命名空间,assembly是程序集,说白了就是dll,这个你可以看你UI层bin文件夹里dll的名称,这里假设是Modules

    <add namespace="Easeland.Web.Modules" assembly="Modules" tagPrefix="ajaxToolkit"/>

    试试吧,应该可以

    好吧,这是用户自定义控件,用户控件的正确方式见楼下……

    • 已标记为答案 lfofiug 2010年8月18日 9:40
    2010年8月18日 7:45
  • 注册了全局前缀后,在页面中使用控件的时候就不需要<%@ Register %>指令了,直接用<前缀:控件名 />就可以用了。

    就像是<asp:Button />这样的asp前缀一样使用就行。

    刚才发现理解错问题内容了!

    以下更正:

    用户控件的全局前缀注册方式是

    <controls>

    <add tagPrefix="前缀" src="~/SomeFolder/SomeUserControl.ascx" tagName="名称"/>

    </controls>

    使用的时候,页面不需要再注册用户控件,直接用以下形式使用:

    <前缀:名称 ID="suc1" runat="server" />

    注意哦,用户控件要放到别的目录下面

    • 已标记为答案 lfofiug 2010年8月18日 9:40
    2010年8月18日 7:56