2010-06-14 4 views
2

Как изменить значение элемента управления, например. Литерал в пользовательском элементе управления и что элемент управления пользователя находится на главной странице, и я хочу изменить значение этого литерала на странице содержимого.Как изменить значение элемента управления на главной странице?

((System.Web.UI.UserControl)this.Page.Master.FindControl("ABC")).FindControl("XYZ").Text = ""; 

Здесь ABC - это пользовательский элемент управления, а XYZ - литеральный контроль.

ответ

5

Лучшее решение состоит в том, чтобы выставлять значения через общедоступные объекты.

Поместите следующее в ваш ABC управления, который содержит XYZ управления:

public string XYZText 
{ 
    get 
    { 
     return XYZControl.Text; 
    } 
    set 
    { 
     XYZControl.Text= value; 
    } 
} 

Теперь вы можете разоблачить это от Master страницы, добавив следующее свойство к MasterPage:

public string ExposeXYZText 
{ 
    get 
    { 
     return ABCControl.XYZText; 
    } 
    set 
    { 
     ABCControl.XYZText = value; 
    } 
} 

Тогда для использования его с любой страницы содержания, просто выполните следующие действия (где MP - класс MasterPage):

string text = ((MP)Page.Master).ExposeXYZText; 
((MP)Page.Master).ExposeXYZText = "New Value"; 
Смежные вопросы

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