在Web.config帮助中定义tagPrefixes

时间:2009-02-25 16:24:33

标签: asp.net web-config

我在使用aspx页面识别我的tagPrefixes时遇到了一些麻烦。

我已经定义了标准的ASP ...

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

然后我在下面定义了我的自定义控件,但我认为我没有正确定义它们,因为有时页面在当前上下文中看不到任何控件,有时它们像冠军一样工作......

<add tagPrefix="mri" namespace="Mri.Controls" assembly="Mri.Controls"/>
<add tagPrefix="mri" namespace="Mri.Controls.Inputs" assembly="Mri.Controls"/>
<add tagPrefix="mri" namespace="Mri.Controls.Inputs.DropDowns" assembly="Mri.Controls"/>
<add tagPrefix="mri" namespace="Mri.Controls.Inputs.Search" assembly="Mri.Controls"/>

我有一个命名空间“Mri.Controls”,在该命名空间内我有几个子文件夹,“输入” - &gt; “DropDowns”等...

我做错了什么?目前常规ASP控件给我一个错误:当前上下文中不存在名称“blahBlah”。

2 个答案:

答案 0 :(得分:3)

子文件夹可能会也可能不会成为命名空间的一部分。默认情况下,Visual Studio在创建新类时会包含它们,但可以在类中删除它们。如果将控件移动到子文件夹,则文件夹的名称可能不是命名空间的一部分。

此外,请确保在Visual Studio中引用控件程序集或项目。

答案 1 :(得分:1)

您是否还需要tagName属性,例如

<add tagPrefix="mri" tagName="Search" namespace="Mri.Controls.Inputs.Search" assembly="Mri.Controls"/>

<mri:Search ID="Search" runat="server"/>