2008-12-11 3 views
1

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

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

ответ

0

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

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

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

2

A 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

См. Обновление, которое я только что добавил к исходной проблеме. Обычно я использовал ваш метод, но частичное обновление страницы усложняет ситуацию. – gfrizzle 2008-12-11 21:29:13

Смежные вопросы