2013-08-11 5 views
1

У меня есть пользовательский элемент управления с несколькими текстовыми полями. Я создал свойства в UC, чтобы установить текстовое поле для этих значений.Пользовательский элемент управления, не отображающий значения

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

Не уверен, куда я иду неправильно здесь, вот некоторый код:

Страница:

public void LoadFiguresControl() 
{ 

    var mgr = new CompaniesBusinessManager(); 
    WebParts_CreateOwnershipFigures fig = (WebParts_CreateOwnershipFigures)Page.LoadControl("~/WebParts/CreateOwnershipFigures.ascx"); 
    if (ddlEditCompanies.SelectedValue != null && ddlEditCompanies.SelectedValue != "") 
    { 
     var cc = mgr.GetOwnershipCompanies(rlabs.letsema_re.Domain.CompanyQueries.GetOwnershipCompaniesType.By_Id, int.Parse(ddlEditCompanies.SelectedValue), -1).FirstOrDefault(); 
     if (cc != null) 
     { 

      fig.OwnershipCompanyId = cc.Id; 
      fig.CompanyTitle = mgr.GetCompanies(cc.CompanyId.Value).FirstOrDefault().Name; 
      fig.Shareholding = (cc.ShareholderPerc.HasValue ? cc.ShareholderPerc.Value : 0); 
      fig.Black = (cc.BlackPerc.HasValue ? cc.BlackPerc.Value : 0); 
      fig.RSA = (cc.RSAPerc.HasValue ? cc.RSAPerc.Value : 0); 
     } 
    } 
    PlaceHolder1.Controls.Add(fig); 

} 

Пример из объекта на пользовательский элемент управления:

public string CompanyTitle 
    { 
     get 
     { 
      return lblOwnership.Text; 

     } 
     set 
     { 
      lblOwnership.Text = value; 
     } 
    } 

и показать всплывающее окно:

protected void btnEdit_Click(object sender, EventArgs e) 
    { 
     LoadFiguresControl(); 
     ModalPopupExtender1.Show(); 
    } 
+0

показать свой метод Show() (второй в btnEdit_Click) –

ответ

0

Я использую элементы управления telerik с помощью WindowManager. Оказывается, я не могу использовать модальные всплывающие окна ajax с JavaScript, если я не поместил их в RadCodeBlock. После этого все работало, как ожидалось. Я не могу объяснить, что происходит под капотом, но это решило проблему.

0

Вы используете кнопку нажатия кнопки на сервере. Это приводит к возникновению обратной передачи. Убедитесь, что вы используете свойства, которые вы используете для загрузки всплывающего окна модели, не получают сброса. Вы можете использовать свойство Page.IsPostBack, чтобы предотвратить его в событии Page_Load.

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