Передать значения со страницы в пользовательский элемент управления - PullRequest
8 голосов
/ 14 ноября 2011

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

Мой вопрос заключается в том, как я могу передать значения переменных метки или класса в переменную тела элемента управления пользователя?

Ответы [ 5 ]

29 голосов
/ 14 ноября 2011

Создайте свойство в вашем пользовательском элементе управления с типом данных, которые вы хотите передать ему, и заполните его на своей странице при создании элемента управления.

public class myUserControl : Control
    {
      ...
      public int myIntProperty {get; set;}
      ...
    }

Позже это в коде позадиВы можете присвоить значение как

myUserControl cntrl = new myUserControl();
    cntrl.myIntProperty = 5;

Вместо этого вы можете передать значение через разметку также как

<uc1:myUserControl ID="uc1" runat="server" myIntProperty="5" />
2 голосов
/ 14 ноября 2011

Вам необходимо создать свойства в вашем элементе управления для хранения этих значений; затем из кода страницы просто присвойте значения свойствам элемента управления.

На вашем контроле вы можете иметь что-то вроде

public string FirstName
{
  get {
     if (ViewState["FirstName"] == null)
        return string.Empty;
     return ViewState["FirstName"].ToString();

      }
      set {
           ViewState["FirstName"] = value;
      }
}
1 голос
/ 14 ноября 2011

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

Что-то вроде:

<cc:mycustomControl runat="server" 
    MyProperty1=<%# label1 %>
    MyProperty2=<%# label2 %>
/>
1 голос
/ 14 ноября 2011

Шаг 1: Вы можете выставить значения как свойство, а затем легко их использовать.

Шаг 2: Для доступа к своей странице изпользовательский элемент управления, вы можете использовать свойство Parent или может быть обычным логином для доступа к родительской странице, а затем написать код для использования значения свойства.

0 голосов
/ 14 ноября 2011

вы можете сделать что-то подобное в вашем пользовательском элементе управления

string x=((yourparentcontrol)this.parent).label1.text;

и используйте строку x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...