Проверка пользовательского элемента управления ASP.NET от его родительской страницы

Спасибо @ 2ps, это была проблема. Мой DbObject не получал последние данные из БД, во-первых, добавление db.session.commit () помогло решить проблему.

def petchme(self):
    db.session.commit()
    self.dbObject = Patch.find_by_status('READY')
    if self.dbObject:
        print('Patch this')
    else:
        print('No patchgroup(s) in pipeline')
7
задан SecretDeveloper 24 September 2009 в 08:04
поделиться

4 ответа

Хм мне нравится Интерфейсная идея, предложенная digiguru, но я использовал бы интерфейс на контейнерном Control1 вместо средств управления sub, поскольку на более логическое место для кода походит жить. Вот мое взятие на нем:

public interface IValidatableControl
{
    bool IsValidControl();    
}

затем реализуйте это на своем Control1

public class Control1 : IValidatableControl
{
... Other methods
    public bool IsValidControl()
    {

        foreach(object c in this.Controls)
        {
            if(c.GetType() == "Control2")
                return true;
        }
        return false;
    }

}

Существуют, вероятно, лучшие способы записать это, но это должно дать Вам действительно идею начать.

8
ответ дан 6 December 2019 в 23:15
поделиться

Если Вы добавляете пользовательские элементы управления на лету, Вы могли бы заставить каждое управление реализовать тот же интерфейс с Проверить функцией. Тем путем можно загрузить средства управления в заполнителя в каждом родительском управлении на странице. Когда страница отправлена, просто цикл посредством средств управления в заполнителе, бросила их к интерфейсному классу и затем вызывает проверить функцию. Я не использую нестандартные элементы верификации, но можно создать список ошибок проверки с помощью объекта, возвращенного из проверить функции, можно представить этот набор ошибок проверки, какой бы ни путь Вам нравится.

2
ответ дан 6 December 2019 в 23:15
поделиться

Я думаю, что Вы могли сделать это путем присвоения общественной собственности в Control1, который ссылается на существование идентификатора Control2, и затем украсьте класс Control1 ValidationProperty. Я думаю что-то вдоль этих строк:

[ValidationProperty("Control2Ref")]
public partial class Control1 : UserControl
{
    public string Control2Ref
    {
        get { return FindControl("Control2"); }
    }
    // rest of control 1 class
}

И затем необходимо смочь указать на RequiredFieldValidator на экземпляр Control1.

1
ответ дан 6 December 2019 в 23:15
поделиться

Один метод, который Вы могли попробовать, создает и поддерживает простую структуру XML, которая представляет Вашу иерархию пользовательского элемента управления. Вставьте или удалите из этой структуры любое время, Вы создаете или уничтожаете пользовательский пользовательский элемент управления. На сохранение проверьте это, иерархия управления, представленная в структуре XML, корректна. Вы могли сохранить xml в объекте Сессии сохранить его через обратные передачи.

0
ответ дан 6 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

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