Как получить доступ к содержимому элемента управления ASP.NET?

Мне было интересно, можно ли сделать что-то вроде этого:

    <uc1:TestControl ID="TestControl1" runat="server">
        <div>More random HTML, etc...</div>
    </uc1:TestControl>

Я получил сообщение об ошибке «Тип« System.Web.UI.UserControl »не имеет общедоступного свойства с именем« div ».». Проведя небольшое исследование, я обнаружил, что могу добавить в серверный элемент управления следующее свойство:

[ParseChildren(false)]
public partial class TestControl : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

Можно ли прочитать содержимое из элемента управления ASP.NET?

Изменить: изменена формулировка, чтобы отразить, что мне любопытно, можете ли вы сделать это с помощью сервера или пользовательского элемента управления.


person Jason Z    schedule 28.10.2008    source источник


Ответы (2)


В серверном элементе управления вы должны создать свойство, реализующее ITemplate, чтобы содержать это содержание. Я не уверен, возможно ли это в пользовательском элементе управления, но может быть.

person Dave Ward    schedule 28.10.2008

да это возможно

ознакомьтесь с этой статьей MSDN о создании шаблонных пользовательских элементов управления, плюс вы можете добавить [ParseChildren (false)] в класс пользовательского элемента управления, чтобы вы могли видеть их со страницы, содержащей их. http://msdn.microsoft.com/en-us/library/36574bf6.aspx

надеюсь это поможет.

person DevMania    schedule 12.04.2009