2010-11-12 2 views
1

J'ai un certain type de document dans Kentico qui a un champ booléen qui, lorsque vrai, j'ai besoin de la page pour rediriger vers une autre URL (dans ce cas une page 404).Kentico: Comment rediriger basé sur le type de document champ

Où est le meilleur endroit pour faire cela? Comment puis-je accéder au contexte de données kentico dans le code pour que je puisse écrire du code qui tire le champ de types de document et redirige dessus (parce que j'essaie actuellement d'accéder aux erreurs Dataitem ("MyFieldName") parce que Kentico ne le fait pas. utiliser DataItem pour la liaison de données, même si Eval (« MyFieldName ») fonctionne toujours.

Répondre

4

vous pouvez accéder à des données de contexte Kentico via l'objet CMSContext.

<% 
    if ((bool)CMSContext.CurrentDocument.DataRow["MyFieldName"]) 
     Response.Redirect("PageNotFound.aspx"); 
%> 
3

Si vous voulez seulement être en mesure de rediriger une page Kentico a déjà quelque chose de intégré, il suffit d'aller au Page->Properties->Menu. Dans la section actions du menu y Vous pouvez spécifier une URL pour la redirection.

Sinon pour la condition décrite, vous pouvez obtenir la valeur booléenne par:

if(ValidationHelper.GetBoolean(
    CMSContext.CurrentDocument.GetValue("MyFieldName"), false))) 
{ 
    Response.Redirect("/404.aspx"); 
} 
+0

+1 sur la réponse acceptée car elle utilise le ValidationHelper. –

Questions connexes