Обновить ссылки на главной странице данными с дочерней страницы - PullRequest
1 голос
/ 12 декабря 2008

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

ОБНОВЛЕНИЕ: я должен был упомянуть, что дочернее обновление происходит внутри UpdatePanel, то есть главная страница не перезагружается при изменении.

Ответы [ 2 ]

2 голосов
/ 12 декабря 2008

MasterPage действительно дочерний элемент управления страницы, которой он управляет. Вы можете управлять MasterPage, как и любой другой элемент управления на вашей странице (почти). Все, что вам нужно сделать, это получить ссылку на него.

Вы добавляете свойство к коду вашей MasterPage, чтобы его код мог выглядеть примерно так:

public partial class _default : System.Web.UI.MasterPage
{
    protected string m_myString = string.Empty;
    public string myString
    {
        get { return m_myString; }
        set { m_myString = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

Затем вы должны привести свойство this.Master к вашей MasterPage

public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Cast here to get access to your MasterPage
        _default x = (_default)this.Master;
        x.myString = "foo";
    }
}
0 голосов
/ 12 декабря 2008

В ответ на ваше ОБНОВЛЕНИЕ:

Обновленная панель может записывать идентификатор в скрытое поле, а события меню могут искать эти скрытые поля в Request.Form["fieldName"].

Обратите внимание, что вы не должны fieldName.Text, потому что ASP.NET плохо возвращает правильное значение для полей, которые были AJAXed.

...