Как я могу получить родительскую страницу от Пользовательского элемента управления в Веб-сайте ASP.NET (не веб-приложение)

Вы должны проверить Sidekiq .

RailsCasts эпизод о Sidekiq.

30
задан Vadim Kotov 11 August 2017 в 13:33
поделиться

6 ответов

this.Page

или откуда угодно:

Page page = HttpContext.Current.Handler as Page
62
ответ дан 27 November 2019 в 23:12
поделиться

Я не могу придумать какой-либо веской причины для того, чтобы пользовательский элемент управления знал что-либо о странице, на которой он находится, поскольку пользовательский элемент управления должен игнорировать свой контекст и вести себя предсказуемо независимо от того, на какой странице он находится. .

При этом вы можете использовать this.Page .

14
ответ дан 27 November 2019 в 23:12
поделиться

вы можете использовать свойство Parent

, если вам нужно это, чтобы найти элемент управления на странице, тогда вы можете использовать

Label lbl_Test = (Label)Parent.FindControl("lbl_Test");
7
ответ дан 27 November 2019 в 23:12
поделиться

Я обнаружил, что способ сделать это - создать интерфейс, реализовать этот интерфейс, использовать this.Page для получения страницы из элемента управления, привести ее к интерфейсу и затем вызвать метод.

2
ответ дан 27 November 2019 в 23:12
поделиться

Я всегда использовал this.Page в System.Web.UI.UserControl.

Или вы всегда можете выполнить рекурсивный вызов Родителя, пока не столкнетесь с объектом, который является страницей.

своего рода излишек, хотя ...

protected Page GetParentPage( Control control )
{
    if (this.Parent is Page)
        return (Page)this.Parent;

    return GetParentPage(this.Parent);
}
2
ответ дан 27 November 2019 в 23:12
поделиться

Каждый элемент управления имеет родительское свойство, которое вы можете использовать для доступа к родительскому объекту.

protected void Page_Load(object sender, EventArgs e)
{
  Response.Write(this.Parent.ID);
}

РЕДАКТИРОВАТЬ: зависит от того, в каком из событий жизненного цикла страницы вы хотите сохранить ссылку и что использовать для хранения этой ссылки. Однако ссылка всегда доступна

0
ответ дан 27 November 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: