не могу добавить контроль в usercontrol - PullRequest
1 голос
/ 16 апреля 2011

Это работает:

<%@ 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 

Любая помощь приветствуется, я не вижу в Google много об этом :( Я добавил ее в 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 ]

6 голосов
/ 16 апреля 2011

Если я правильно понимаю, вы объявили публичное свойство с именем Page, которое является целым числом:

public int Page { get; set; }

И затем вы используете это свойство для применения скина стиля:

@__ctrl.ApplyStyleSheetSkin(this.Page);

Попробуйте переименовать вашу собственность во что-то другое (PageCount, NumberOfItemsOnPage, PageID и т. Д.). Или назначьте правильный тип этому свойству:

public System.Web.UI.Page Page { get; set; }
0 голосов
/ 21 февраля 2014

Также была эта странная проблема, и я выдернул свои волосы.Затем я ударил меня ...

1.) Я запустил новый веб-проект VS 2010 C #

2.) Я удалил несколько автоматически созданных файлов проекта (включая Site.Master)

3.) Я начал создавать базовую структуру кода

4.) Я создал новый файл Site.Master

5.) Когда я добавилПервый серверный элемент управления (Label) для Site.Master. Я начал получать сообщение об ошибке

6.) Затем меня поразило, возможно, что-то застряло во временных файлах, файлах конструктора или кэше, где он все еще пытался скомпилировать (назовите его a) призрак (из-за отсутствия лучшего термина) исходного файла Site.Master, в который не добавлен новый элемент управления Label.

Я переименовал свой новый файл Site.Master в SiteMaster.Master исайт снова работал правильно.(Очевидно, мне пришлось обновить все мои дочерние страницы, чтобы использовать новую правильную главную страницу).

Не уверен, где скрывался оригинальный файл-призрак Site.Master.Даже пытался убить все временные файлы ASP.NET из C: \, перестроить проект, очистить проект, перезапустить VS, перезапустить ПК и т. Д. Очень странно.

Но просто подумал, что поделюсь этой глупой ошибкой, которая побежаламеня в кругах за 20 минут до того как я разобрался!

Лучший!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...