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

StackOverflow https://stackoverflow.com/questions/1401663

  •  05-07-2019
  •  | 
  •  

Вопрос

public class ToolPartGetLists : Microsoft.SharePoint.WebPartPages.WebPart, ICommunicationInterface
{
    private bool _error = false;

    //.........

    protected override void CreateChildControls()
    {
        if (!_error)
        {
            try
            {
                ViewState["prodList"] = SelectedList;
                //base.CreateChildControls();
                Office_Cp = (OfficeCPS)Page.LoadControl(@"/_controltemplates/OfficeCP/OfficeCP.ascx");
                this.Controls.Add(Office_Cp);
                // Your code here...
                //this.Controls.Add(new LiteralControl(this.MyProperty));
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }
    }
}

public class OfficeCPS : System.Web.UI.UserControl
{
    //I want the value of Selected List here
    public string prodDataList = "";
    //.......
}

Я пробовал ViewState, не работает !!!

Это было полезно?

Решение

Внутри try вы можете использовать:

Office_Cp = (OfficeCPS)Page.LoadControl(@"/_controltemplates/OfficeCP/OfficeCP.ascx");
this.Controls.Add(Office_Cp);
Office_Cp.prodDataList = SelectedList;

Если это не работает, обратите особое внимание на то, как вы справляетесь с Жизненный цикл ASP.NET .

Также обратите внимание, что лучше прятать prodDataList за свойством или методом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top