基类包含字段'btnLogin',但其类型(FoodOrder.App_Code.LinkBut​​tonDefault)不兼容

时间:2010-09-18 16:09:24

标签: c# asp.net

  

基类包括该字段   'btnLogin',但它的类型   (FoodOrder.App_Code.LinkBut​​tonDefault)   与...的类型不兼容   控制   (FoodOrder.App_Code.LinkBut​​tonDefault)。

ASPX:

<%@ Register Namespace="FoodOrder.App_Code" TagPrefix="ac1" %>
<ac1:LinkButtonDefault ID="btnLogin" runat="server" Text="Prijava" CssClass="gumbek" 
                onclick="btnLogin_Click" />

LinkBut​​tonDefault:

namespace FoodOrder.App_Code
{
    public class LinkButtonDefault : LinkButton
    {
        protected override void OnLoad(System.EventArgs e)
        {
            Page.ClientScript.RegisterStartupScript(GetType(), "addClickFunctionScript",
                _addClickFunctionScript, true);

            string script = String.Format(_addClickScript, ClientID);
            Page.ClientScript.RegisterStartupScript(GetType(), "click_" + ClientID,
                script, true);
            base.OnLoad(e);
        }

        private const string _addClickScript = "addClickFunction('{0}');";

        private const string _addClickFunctionScript =
            @"  function addClickFunction(id) {{
            var b = document.getElementById(id);
            if (b && typeof(b.click) == 'undefined') b.click = function() {{
                var result = true; if (b.onclick) result = b.onclick();
                if (typeof(result) == 'undefined' || result) {{ eval(b.getAttribute('href')); }}
            }}}};";
    }
}

aspx.designer.cs:

protected global::FoodOrder.App_Code.LinkButtonDefault btnLogin;

有人可以解释我的错误吗?

1 个答案:

答案 0 :(得分:5)

我认为你有一个使用App_Code文件夹的循环引用。

MS建议采用两种方法进行修复:http://support.microsoft.com/kb/919284

修改web.config以将<compilation>元素设置为false(仅适用于小型应用程序)

OR

重新排列应用程序中的文件夹。 AKA - 将你的链接按钮类放在其他地方。