Свойства набора на динамично добавленном UserControl

Для достижения ожидаемого результата используйте ng-init, чтобы присвоить ноль

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {

});




codepen - https://codepen.io/nagasai/pen/ZVPJqJ

6
задан Community 23 May 2017 в 12:23
поделиться

3 ответа

А-ч, я ответил перед добавлением дополнительного разъяснения. Короткий ответ, да, просто снят это как Ваш пользовательский тип.

Я оставлю остальную часть моего ответа здесь для ссылки, хотя не кажется, что Вам будет нужен он.


При заимствовании у кода в другом вопросе и предположении, что все Пользовательские элементы управления могут быть сделаны наследоваться тому же базовому классу, Вы могли сделать это.

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

public class MyBaseControl : System.Web.UI.UserControl
{
    public string MyProperty 
    {
        get { return ViewState["MyProp"] as string; }
        set { ViewState["MyProp"] = value; }
    }
}

Затем обновите свои пользовательские элементы управления для наследования базовому классу вместо UserControl:

public partial class SampleControl2 : MyBaseControl
{
    ....

Затем в месте, где Вы загружаете средства управления, измените это:

UserControl uc = (UserControl)LoadControl(controlPath);
PlaceHolder1.Controls.Add(uc);

кому:

MyBaseControl uc = (MyBaseControl)LoadControl(controlPath);
uc.MyProperty = "foo";
PlaceHolder1.Controls.Add(uc);
10
ответ дан 8 December 2019 в 18:42
поделиться

Да, Вы просто бросаете управление к надлежащему типу. EX:

((MyControl)control).MyProperty = "blah";
1
ответ дан 8 December 2019 в 18:42
поделиться

"Поскольку я добавляю UserControl к странице, ее типом является UserControl. Я просто бросаю его в MyCustomUCType и устанавливаю свойство на управлении броска?"

Это - то, что я сделал бы. Если Вы на самом деле используете пример кода, где он загружает различные средства управления, я использовал бы если (x ControlType), также.

if(x is Label)
{    
     Label l = x as Label;
     l.Text = "Batman!";
}
else
     //...

Править: Теперь это - 2,0 совместимых

2
ответ дан 8 December 2019 в 18:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: