2009-12-01 4 views
2

я создал элемент управления и добавил TextBox внутри этого элемента управления, Я прилагаю этот контроль на странице .aspx черезC Controls # User: контролирует доступ свойства

<%@ Register Src="../UserControls/AccountSearchControl.ascx" TagName="SearchControl" 
TagPrefix="csr" %> 

и

<csr:SearchControl ID="AccountSearchControlBox" runat="server" OnSearchButtonClick="RetreiveAccounts" /> 

В файле .aspx.cs я хочу получить доступ к значению TextBox внутри пользовательского элемента управления ... как это сделать?

ответ

4

Добавить общественную собственность в AccountSearchControl.ascx

public string TextBoxText { 
    get { 
     return TextBox1.Text; 
    } 
    set { 
     TextBox1.Text = value; 
    } 
} 

По умолчанию всех элементов управления вы размещаете на странице есть protected видимости (Взгляните на AccountSearchControl.ascx.designed.cs, чтобы увидеть). Поэтому вам необходимо открыть метод для доступа к текстовому полю.

3

вы хотите что-то вроде этого на вашем UserControl

public string textBoxValue 
{ 
    get { return this.myTextBoxId.Text; } 
    set { this.myTextBoxId.Text = value; } 
} 
2

Вот способ доступа к управлению текстового поля в элементе управления пользователя:

TextBox yourTextBox = (TextBox)AccountSearchControlBox.FindControl("your_textbox_ID"); 
+1

грязные WebForms безумие –

+2

это одна не проблема, но иногда вам нужно получить доступ к элементу управления у родителей .. этот случай действительно раздражает :) – Canavar

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