J'ai besoin de transmettre des données à une variable dans ma page maître chaque fois qu'une page est chargée. p>
J'ai une chaîne [] de critères requis que je définis sur chaque page de contenu définissant quels rôles sont nécessaires pour accéder à cette page. P>
sur ma page maître, j'ai une méthode qui prend ce tableau et vérifie si l'utilisateur actuel est dans un ou plusieurs de ces rôles. P>
Comment puis-je continuer à gérer cela? Je veux fondamentalement que chaque page ait une chaîne [] obligatoire définie, et la page principale chargera ceci sur chaque appel et vérifiez pour voir si les utilisateurs sont dans ces rôles. P>
5 Réponses :
Typacast Page.Master à votre page maître afin que vous fassiez quelque chose comme:
Qu'est-ce que MyMasterPageType?
@NiloOfar: Lorsque vous créez une page principale, elle crée une nouvelle classe. Dans mon exemple, vous remplaceriez myMasterPageType code> avec le nom de votre classe de page principale réelle.
Créer une propriété dans votre page maître et vous l'accédez à partir de la page de contenu:
Master Page: P>
public partial class _Default : System.Web.UI.Page { protected void Page_Load() { Master.RequiredRoles = new string[] { /*set appropriate roles*/ }; } }
J'irais en créant une classe de base pour toutes les pages de contenu, quelque chose du genre:
public partial class _Default : BasePage { protected override string[] RequiredRoles { get { return new[] { "Admin", "Moderator" }; } } }
Celui-ci n'a pas été suffisamment évité. C'est la bonne approche sur la gestion de l'exigence même si elle est différente de la question exacte, l'OP essayait de résoudre.
Ajoutez la directive de la page à votre enfance:
Master.Section = "blog";
A voté cette réponse sur les autres parce qu'elle montre l'utilisation de la directive <% @ MasterTypePe%>, ce qui permet aux choses beaucoup mieux de la page de contenu - en particulier IntelliSense dans Visual Studio.
ctype (maître.findcontrol ("lblname"), étiquette) .text = txtid.text CYPE (Master.FindControl ("Pnlloginned"), panneau) .Visible = true p>