Я нахожусь в середине проекта ASP.NET, где я использую инфраструктуру CSLA и элемент управления AJAX ModalPopupExtender. Ранее я использовал CSLA и ModalPopupExtender в разных проектах, но я впервые использую их вместе.
Я хочу, чтобы он работал, чтобы пользователь нажимал кнопку, которая создаст экземпляр объекта и покажет модальное всплывающее окно. У всплывающего окна есть элементы управления, связанные с CslaDataSource на основе только что созданного объекта.
Вместо этого, на самом деле, он работает, загружая элементы управления в ModalPopup, даже если всплывающее окно все еще скрыто, например, во время начальной загрузки страницы. Это приводит к ошибке, поскольку объект, к которому привязаны элементы управления, еще не существует, поэтому он не может правильно отобразить элементы управления и соответствующий Javascript на странице aspx. Ошибка:
"Ошибка времени выполнения Microsoft JScript: Sys.ArgumentNullException: значение не может быть нулевым.
Имя параметра: элемент "
Мой текущий обходной путь - создать фиктивный объект заранее, просто для этого есть что-то, что может изначально связать элементы управления во всплывающем окне. Затем я заменяю этот объект, когда пользователь нажимает кнопку. Мне интересно, есть ли более простой способ с меньшими накладными расходами, который я мог бы упустить.