开发者

can't add control to usercontrol

This works:

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

Add comment

But this:

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

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

Throws this error I've never seen before:

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 b开发者_如何学Goest 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 

Any help appreciated, I can't see much on google about it :( I have added it to web.config this way:

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

Page code behind:

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)
    {

    }
}


If I understand correctly, your declaring a public property named Page, which is an integer:

public int Page { get; set; }

And then your using this property to apply the stylesheet skin:

@__ctrl.ApplyStyleSheetSkin(this.Page);

Try renaming your property to something else (PageCount, NumberOfItemsOnPage, PageID, etc.). Or assign the correct type to this property:

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


Also had this strange issue and it had me pulling my hair out. Then I hit me....

1.) I had started a new VS 2010 C# Web project

2.) I deleted a bunch of the auto-generated project files (including Site.Master)

3.) I started building up my basic code framework

4.) I created a new Site.Master file

5.) When I added the first server control (Label) to the Site.Master I started getting the error

6.) Then it hit me, maybe something was stuck in temp files, designer files, or cache where it was still trying compile (call it a) ghost (for a lack of a better term) of the original Site.Master file that did not have the new Label control added.

I renamed my new Site.Master file to SiteMaster.Master and the site operated correctly again. (Obviously I had to update all my child pages to use the new correct master page).

Not sure where the original Site.Master ghost file was hiding. Even tried killing all the Temporary ASP.NET Files from C:\, Rebuilding Project, Clean Project, restarting VS, restarting PC, etc. Super weird.

But just thought I'd share this stupid mistake that ran me in circles for 20 minutes before I figured it out!

Best!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜