Ou toute solution de contournement viable.Méthode d'appel sur la page maître à partir de WebMethod
Alors, imaginez une page principale qui implémente IFooMaster
avec une méthode ShowFancyMessagePopupTheBusinessCantLiveWithout(string message);
Je suis dans une page qui hérite de cette page maître. Si une case n'est pas cochée, je veux montrer à l'utilisateur que s'il l'enregistre, il ne peut pas la cocher à nouveau sans une action d'administration.
J'ai reçu des commentaires que je ne peux pas simplement utiliser un alert('message');
en javascript parce qu'ils veulent l'aspect cohérent de ces messages.
Ensuite, j'ai essayé de faire un appel ajax via PageMethods (car c'est ce que tout le reste dans ce code utilise) pour afficher un message. Mon problème réside dans cette méthode étant statique.
[WebMethod]
public static void ShowSuperImportantMessage()
{
if(!checkboxICareAbout.Checked)
((IFooMaster)Master).ShowFancyMessagePopupTheBusinessCantLiveWithout("If you uncheck that thing, you can't recheck it.");
}
Depuis ShowSuperImportantMessage()
est static
, je ne peux pas accéder Master
à l'intérieur.
La méthode sur la page principale ressemble plus ou moins comme ceci:
public void ShowFancyMessagePopupTheBusinessCantLiveWithout(string message)
{
lblGenericMessage.Text = message;
btnGenericMessageOK.Focus();
upGenericMessage.Update();
mpeGenericMessage.Show();
}
mpeGenericMessage
est un ajaxToolkit: ModalPopupExtender.
upGenericMessage
est un panneau de mise à jour.
Les 2 autres sont évidents.
Des idées? Puis-je faire du kung-fu jQuery pour montrer ce genre de choses? J'ai essayé, mais la solution s'est plainte que les contrôles que j'ai essayé de faire référence par ClientID n'ont pas été résolus puisqu'ils étaient sur la page principale.
modifier rapidement: Avant que quelqu'un me dit l'architecture est un problème, ou je ne devrais pas avoir mis une telle chose sur une page maître ou w/e ...
Je sais que la situation est pas idéal, mais je suis ce code hérité, et je ne peux pas tout laisser tomber et réécrire la moitié de leur pile web.
L'architecture est le problème. Vous ne devriez pas avoir mis une telle chose sur une page maître. =) –
Merci M. Utile :) –
Cela ressemble à un P.O.S que j'ai déjà eu à travailler avec ... Je ressens votre douleur :) –