Невозможно сослаться на UserControl со страницы aspx - PullRequest
0 голосов
/ 23 мая 2011

Я добавил пользовательский веб-элемент управления с именем HomePageItem в свой проект, и я пытаюсь создать его новый экземпляр на странице LandingPage.aspx программно.По какой-то причине класс не виден.Я просто получаю ошибку сборки, которая говорит:

Не удалось найти тип или имя пространства имен Controls_HomePageItem (отсутствует директива using или ссылка на сборку?)

Это строкакода в моем файле LandingPage.aspx:

Controls_HomePageItem hpi = new Controls_HomePageItem();

А вот и весь файл HomePageItem.ascx:

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_HomePageItem : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

Я попытался поместить элемент управления в пространство имен HomePage
например, так:

namespace HomePage {
    public partial class Controls_HomePageItem : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {  

        }
    }
}

И затем ссылка на элемент управления выглядит примерно так в LandingPage.aspx HomePage.Controls_HomePageItem hpi = new HomePage.Controls_HomePageItem ();

, и я попытался использовать оператор сверху:

using HomePage;

Те же проблемы по-прежнему.Я не могу даже увидеть пространство имен HomePage из LandingPage.aspx

Пожалуйста, помогите.
TIA

Ответы [ 3 ]

1 голос
/ 02 января 2012

У меня тоже была эта проблема. Я решил это. Когда я добавляю Register моего usercontrol в файл aspx, я могу ссылаться на класс usercontrol в коде. Я создаю свой пользовательский контроль только из кода, но требуется регистрация.

PS: простите за мой английский.

0 голосов
/ 23 мая 2011

Хорошо, нашел проблему.Проект был создан как веб-сайт, а не как веб-приложение.Visual Studio постоянно создает новые элементы управления в фоновом режиме, но в моей сборке была проблема, поскольку некоторые из указанных библиотек DLL были извлечены исключительно из-под контроля исходного кода кем-то другим.Веб-сайт все еще будет собираться и работать, но ни один из классов управления не создавался.Как только я разобрался с проблемой управления исходным кодом с извлеченными DLL, мои элементы управления начали работать нормально.

Спасибо за ответы на все вопросы.

0 голосов
/ 23 мая 2011

У вас там нет строки пространства имен?

Между классом использования и открытым частичным должна быть строка пространства имен.

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