2016-06-13 12 views
-1

У меня есть форма с большим количеством текстовых полей, выпадающих меню и т. Д. Я использую эту форму для ввода НОВЫХ данных, но я также хочу использовать одну и ту же страницу для ИЗМЕНЕНИЯ данных. Но тогда я должен заполнить данные информацией клиента, которая будет изменена.Невозможно обновить форму из Page_Load

Сейчас в Page_Load У меня есть

protected void Page_Load(object sender, EventArgs e) 
    { 
     Master.PageTitle(PageTitles.UpdateAdd); 

     NameValueCollection nvc = Request.Form; 
     if (nvc.Count == 2 && nvc["ThisIsAnUpdate"] == "1") 
     { 
      // Ladies and gentlemen, we have an update. Do the work. 
      ThisIsAnUpdate.Value = "1"; 

      DetailedAddressEntity myCustomer = new RetreiveInformation().FetchDetailedInformation(nvc["ID"]); 

      SetupEdit(myCustomer); 
     } 
    } 

Тогда в SetupEdit я делаю это:

protected void SetupEdit(DetailedAddressEntity dae) 
    { 
     FirstName.Text = dae.aFirstName; 
     LastName.Text = dae.aLastName; 
     SubscriberNumber.Text = dae.aSubscriberNumber; 
     ... and so on... 
    } 

FirstName, LastName и SubscriberNumber никогда не меняется. Они отлично работают, когда я использую страницу для создания нового Клиента, так как после этого я делаю обратную передачу, чтобы заполнить эти текстовые поля, но когда я пытаюсь получить к ним доступ, когда страница загружается ... ничего.

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

Помогает?

Дополнительные пояснения: Page_Load первый набор - это название страницы на главной странице, так как я делаю это без проблем, я предположил, что смогу также заполнить текстовые поля. DetailAddressEntity myCusomter - это просто переменные gazillion, полученные из БД. Я использую извлеченную информацию для заполнения текстовых полей, но - увы - в них нет информации.

Дополнительная информация: Я перевел вызов базы данных на SetupEdit и создал кнопку на странице и вызвал эту функцию, чтобы увидеть, была ли функция нарушена. Он работает отлично. Он извлекает всю информацию и отлично заполняет мои текстовые поля.

Но нет, если я вызову то же самое из Page_Load.

protected void SetupEdit(string ID) 
    { 
     DetailedAddressEntity dae = new RetreiveInformation().FetchDetailedInformation(ID); 

     FirstName.Text = dae.aFirstName; 
     LastName.Text = dae.aLastName; 
     SubscriberNumber.Text = dae.aSubscriberNumber; 
     ... and so on... 

ответ

0
protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostBack) 
    { 
     Master.PageTitle(PageTitles.UpdateAdd); 

     NameValueCollection nvc = Request.Form; 
     if (nvc.Count == 2 && nvc["ThisIsAnUpdate"] == "1") 
     { 
      // Ladies and gentlemen, we have an update. Do the work. 
      ThisIsAnUpdate.Value = "1"; 

      DetailedAddressEntity myCustomer = new RetreiveInformation().FetchDetailedInformation(nvc["ID"]); 

      SetupEdit(myCustomer); 
     } 
    } 
} 
+0

Nopes, которые не работали. Я начинаю задаваться вопросом, неправильно ли я назвал страницу. :/Но я правильно все переменные, и они устанавливаются, когда я прохожу через них в отладчике. Тем не менее, не работает. –

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