У меня есть пользовательский контроль в моем приложении MVC2, помещенном в папку «Содержимое» (он не должен быть представлением, это просто повторно используемая часть приложения).
UserControl1.ascx выглядит так:
<@ Control AutoEventWireup="true" Language="C#" CodeFile="~/Content/UserControl1.ascx.cs" Inherits="MVCDrill.Content.UserControl1" %>
<div runat="server" id="mydiv">
<asp:LinkButton id="lb_text" runat="server"></asp:LinkButton>
</div>
UserControl1.ascx.cs выглядит так:
using System;
using System.Web;
using System.Web.UI;
namespace MVCDrill.Content
{
public class UserControl1 : UserControl
{
public string Text
{
get { return this.lb_text.Text; }
set { this.lb_text.Text = value; }
}
}
}
Я почти уверен, что подобные вещи скомпилированы в webforms, но я получаю ошибку компиляции:
'MVCDrill.Content.UserControl1' делает
не содержит определения для 'lb_text'
и нет метода расширения 'lb_text'
принимая первый аргумент типа
«MVCDrill.Content.UserControl1» может
быть найдены (вы пропускаете использование
директива или ссылка на сборку?)
Я что-то упустил? Как это изменить (какая альтернатива) в MVC2?
p.s. Intellisense видит lb_text без проблем. Я пробовал с разными контролями с одинаковым результатом.