Доступ к свойству UserControl на MasterPage с производной страницы? Это раньше работало! - PullRequest
0 голосов
/ 02 июля 2011

Это сводит меня с ума. В прошлом я мог иметь главную страницу, разместить пользовательский элемент управления на этой странице и создать свойство только для чтения, ссылающееся на этот usercontrol, и получить доступ к usercontrol и всем его свойствам из производной страницы. Теперь я получаю эту ошибку: Тип «XXXX» определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'App_Web_2zw4yn55, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null'.
Я посмотрел на старые проекты и увидел, что смог это сделать. Я использую .Net 4.0 сейчас, но не уверен, что это проблема.

Объявления моей страницы выглядят так ...

Мастер-страница:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Main.master.cs" Inherits="MasterPages_Main" %>
<%@ Register src="../UserControls/WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %>

<uc1:WebUserControl ID="WebUserControl1" runat="server" />

Код для главной страницы:

public UserControls_WebUserControl TheWebControl { get { return this.WebUserControl1; } }

Производная страница:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ MasterType VirtualPath="~/MasterPages/Main.master" %>
<%@ Reference VirtualPath="~/MasterPages/Main.master" %>

Код для производной страницы:

protected void Page_Load(object sender, EventArgs e)
    {
        Master.TheWebControl.Pagetitle = "Hey";
    }

Если я добавлю ссылку в объявлениях страницы производной страницы, чтобы пользовательский контроль работал, но я не должен был этого делать. Я не уверен, что происходит. Мне никогда не приходилось делать это раньше. Единственное, о чем я могу думать, это то, что мой web.config был настроен по-другому, но даже на моих старых страницах я не вижу прямых ссылок на usercontrol.

UPDATE: Возможно, я ошибся. Оглядываясь назад на старый код, я действительно добавил ссылку в директивах страницы в usercontrol на производной странице.

Perhpas есть другой способ сделать это без добавления директивы?

1 Ответ

0 голосов
/ 16 августа 2011

Я ошибся. Оглядываясь назад на старый код, я действительно добавил ссылку в директивах страницы в usercontrol на производной странице.

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