无法将控件添加到usercontrol

时间:2011-04-15 20:22:26

标签: c# asp.net user-controls

这有效:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Comments.ascx.cs" Inherits="Controls_Comments" %>

Add comment

但是这个:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Comments.ascx.cs" Inherits="Controls_Comments" %>

Add comment
<asp:Button runat="server" ID="lol" />

引发我以前从未见过的错误:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.UI.Control.ApplyStyleSheetSkin(System.Web.UI.Page)' has some invalid arguments

Source Error:


Line 190:            #line hidden
Line 191:            this.lol = @__ctrl;
Line 192:            @__ctrl.ApplyStyleSheetSkin(this.Page);
Line 193:            
Line 194:            #line 5 "C:\inetpub\wwwroot\ScirraNew\Controls\Comments.ascx"

Source File: c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\scirranew\3a1c901c\f2f0205e\App_Web_comments.ascx.cc671b29.aem6dvrt.0.cs    Line: 192 

任何帮助表示赞赏,我在谷歌上看不到多少关于它:(我已经将它添加到web.config这样:

<add tagPrefix="Scirra" src="~/Controls/Comments.ascx" tagName="Comments"/>

页面代码背后:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Controls_Comments : System.Web.UI.UserControl
{
    /// <summary>
    /// Anchor (GUID/UniqueIdentifier) for the comments
    /// </summary> 
    public System.Guid Anchor { get; set; }

    /// <summary>
    /// Comment page to load
    /// </summary>
    public int Page { get; set; }

    public int TotalComments { get; set; }
    public int TotalPage { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

2 个答案:

答案 0 :(得分:6)

如果我理解正确,你声明一个名为Page的公共属性,它是一个整数:

public int Page { get; set; }

然后使用此属性应用样式表皮肤:

@__ctrl.ApplyStyleSheetSkin(this.Page);

尝试将您的媒体资源重命名为其他内容(PageCount,NumberOfItemsOnPage,PageID等)。 或者为此属性指定正确的类型:

public System.Web.UI.Page Page { get; set; }

答案 1 :(得分:0)

也有这个奇怪的问题,它让我把头发拉了出来。然后我打了我......

1。)我已经开始了一个新的VS 2010 C#Web项目

2.)我删除了一堆自动生成的项目文件(包括Site.Master)

3.)我开始构建我的基本代码框架

4.。)我创建了一个新的Site.Master文件

5.。)当我将第一个服务器控件(Label)添加到Site.Master时,我开始收到错误

6。)然后它击中了我,也许某些东西被卡在临时文件,设计器文件或缓存中,它仍在尝试编译(称之为)原始网站的幽灵(缺乏更好的术语)。未添加新Label控件的主文件。

我将新的Site.Master文件重命名为SiteMaster.Master,并且该网站再次正常运行。 (显然我必须更新所有子页面以使用新的正确母版页。)

不确定原始Site.Master ghost文件的隐藏位置。甚至尝试从C:\,重建项目,清理项目,重启VS,重启PC等杀死所有临时ASP.NET文件。超级怪异。

但是我以为我会分享这个愚蠢的错误,在我弄明白之前让我在圈内跑了20分钟!

最佳!