C # asp.net textbox.text не устанавливается? - PullRequest
1 голос
/ 19 августа 2011

В родительском классе я вызываю функцию, определенную в дочернем классе, и анализирую нужные мне значения.

ParentClass.ascx

protected void Page_Load 
{       
  if(info != null) 
    ControlIWantToGetInformationTo.SetInfo(info);  
}  

ChildClass.ascx

public void SetInfo(Info info)  
{  
  someTextBox.Text = info.TheVariableWithin.ToString(); 
}  

Что я могу понять, так это то, что ParentClass (control) загружает и выполняет метод, но когда загружается страница ChildClass (control), он сбрасывает ранее установленную переменную в ноль, как я могу обойти это?

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Использовать сессию. В вашем методе вместо установки значений ваших элементов управления используйте объект, заполните свойства вашего объекта и сохраните его в сеансе, когда закончите. В своем дочернем классе загрузите ваши значения из объекта, который вы сохранили в Session.

//Parentclass
protected void Page_Load 
{       
  if(info != null) 
  {
    MyControlObject myObj = new MyControlObject();
    myObj.prop1 = txt1.Text;
    myObj.prop2 = txt2.Text;
    Session["myObj"] = myObj;
  }
} 

//Childclass
public void SetInfo(Info info)  
{  
  MyControlObject myObj = Session["myObj"] as MyControlObject;
  if(myObj != null)
  {
    //assign the values to your controls
    Session["myObj"] = null; //when you are done, clear the session.
  }
}  
0 голосов
/ 19 августа 2011

Я думаю, что вы столкнулись с проблемой чувствительности к регистру.

попробуйте это

someTextBox.Text = info.TheVariableWithin.ToString(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...