Je suis au milieu d'un projet ASP.NET où j'utilise le framework CSLA et le contrôle AJAX ModalPopupExtender. J'ai déjà utilisé CSLA et ModalPopupExtender dans différents projets, mais c'est la première fois que je les utilise ensemble. La manière dont je veux que cela fonctionne est pour l'utilisateur d'appuyer sur un bouton, ce qui va créer une instance d'un objet et montrer le popup modal. Le popup a des contrôles liés à un CslaDataSource, basé sur l'objet qui vient d'être créé. Au contraire, la façon dont cela fonctionne réellement est de charger les contrôles sur ModalPopup même lorsque le popup est encore caché, par exemple. pendant le chargement de la page initiale. Cela génère une erreur, puisque l'objet auquel les contrôles sont liés n'existe pas encore, donc il n'est pas capable de rendre correctement les contrôles et le Javascript correspondant sur la page aspx. L'erreur est: « Erreur d'exécution Microsoft JScript: Sys.ArgumentNullException: La valeur ne peut pas être null Nom du paramètre:. Élément »CSLA, ASP.NET et AJAX ModalPopupExtender - comment ne pas charger un objet lorsque le ModalPopup n'est pas visible
Ma solution actuelle est de créer un objet factice dès le départ, tellement il y a quelque chose que les contrôles sur la popup peut se lier initialement. Je remplace alors cet objet lorsque l'utilisateur appuie sur le bouton. Je me demande s'il y a un moyen plus simple avec moins de frais généraux que je pourrais manquer.