我在使用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”。
答案 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"/>