元素'customelementX'不是已知元素

时间:2015-10-21 23:07:25

标签: c# asp.net

我正试图从这篇SO帖子中实现自定义无线电控制解决方案。使用VS 2013的Web应用程序项目中的Retrieve value for selected radiobutton in ListView asp.net

我一直收到令人讨厌的消息,即ListRadioButton不是已知元素,如果出现编译错误,就会发生这种情况。我没有收到任何编译错误,除了在尝试查看我收到的页面“未知的服务器标签”网站:ListRadioButton'“

我的.aspx页面

 <site:ListRadioButton ID="resultinglist" runat="server"
     GroupName="resultids"
     Text='<%# Eval("id") %>' />

我的web.config文件:

<system.web>
    <pages>
      <controls>
        <add
            tagPrefix="site"
            namespace="SiteControls"
                />
      </controls>
    </pages>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

来自原始SO post的自定义控件未更改,但这是一个snippit:

namespace SiteControls
{
    [ToolboxData("<{0}:ListRadioButton runat=\"server\" />")]
    public class ListRadioButton : RadioButton
    {
    ...

我已经尝试了几种解决方案,其中大多数都包含在原始帖子中,但这些解决方案似乎都不适合我:

  1. 在.aspx页面顶部添加注册指令。
  2. 在我的web.config中添加注册。
  3. 创建一个新的“空Web应用程序”,将单个.cs文件添加到项目并进行编译,然后注册新的DLL。
  4. 查找需要从用户个人资料文件夹(ReflectedSchemas)中删除的文件。
  5. 目前,我已将自定义控件配置为主项目中的另一个类文件。

    我不确定我的错误在哪里或下一步要找什么。任何帮助将不胜感激。

    谢谢。

1 个答案:

答案 0 :(得分:0)

经过多次谷歌搜索后,我发现了另一篇帖子similar solution here,但我发现他在注册标签中添加了关键字Assembly =“xxx”。添加关键字和包含我的新自定义控件的DLL的名称后,一切正常。现在我的.aspx页面包含以下行,一切都很好。

<%@ Register TagPrefix="site" Namespace="SiteControls" Assembly="CustomControls" %>