Я пытаюсь передать значение из пользовательского элемента управления в код без везения. Я могу написать правильное значение (IDuser_uc) на странице aspx, но я не могу передать его в код позади. Какие-нибудь советы?
Пользовательский контроль
protected void FormView_IDuser_DataBound(object sender, EventArgs e)
{
Label IDuserText = FormView_IDuser.FindControl("IDuserLabel") as Label;
IDuser_uc = Convert.ToString(IDuserText.Text);
}
Страница ASPX
<uc4:IDuser id="IDuser" runat="server" />
<% Response.Write(IDuser.IDuser_uc); // Here correct value %>
Код за
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource_userConnections.SelectParameters["IDuser_par"].DefaultValue = IDuser.IDuser_uc ; // Here NO value
Response.Write("Connections :" + IDuser.IDuser_uc); // Here NO value
}
ОБНОВИТЬ
Проблема заключалась в том, что пользовательский элемент управления запускается после того, как функция PageLoad объясняет, почему я получил пустую строку. Чтобы решить проблему, я использовал Page_PreRender вместо Page_Load на странице, за которой стоит страница.
Создайте открытый метод в пользовательском элементе управления. Когда вы отправляете назад страницу, страница Parent.aspx вызывает метод управления пользователями. Пример....
В вашем элементе управления пользователя:
Открытая строка GetUserControlValue() {return Label IDuserText;
} }
В своем родительском ASPX Pgae
var UserControlString = IDuser_uc.GetUserControlValue();