Wenn ich an Ihrer Stelle bin, erstelle ich eine einfache Webparts wie "RandomRedirection". Hier ist der Pfad der Datei dieser Web-Teile in der Version 8 ~/CMSWebParts/General/RandomRedirection.ascx.cs
. Sie können den Abfragezeichenfolgenparameter in Ihrem Webpartscode testen und die Umleitung entsprechend vornehmen. Hier
ist ein Beispiel für Code inspiriert von RandomREdirection Webparts (sorry, ich habe nicht die Version 7 installiert lokal so meinen Code nicht in dieser Version getestet wird, aber mit der Version 8)
using System;
using CMS.Helpers;
using CMS.PortalControls;
using CMS.PortalEngine;
public partial class CMSWebParts_General_RandomRedirection : CMSAbstractWebPart
{
#region Webpart properties
/// <summary>
/// URL to redirect if the query value is not correct.
/// </summary>
public string RedirectionURL
{
get
{
return ValidationHelper.GetString(GetValue("RedirectionURL"), "");
}
set
{
SetValue("RedirectionURL", value);
}
}
#endregion
#region Webpart methods
/// <summary>
/// Content loaded event handler.
/// </summary>
public override void OnContentLoaded()
{
base.OnContentLoaded();
SetupControl();
}
/// <summary>
/// Initializes the control properties.
/// </summary>
protected void SetupControl()
{
if (!StopProcessing)
{
if ((RedirectionURL.Trim().Length > 0) &&
PortalContext.ViewMode.IsLiveSite())
{
string newURL = URLHelper.ResolveUrl(RedirectionURL.Trim());
if ((RequestContext.CurrentURL != newURL) &&
(URLHelper.GetAbsoluteUrl(RequestContext.CurrentURL) != newURL))
{
var value = QueryHelper.GetString("queryName", String.Empty);
//Test value of your query parameter
if (!value.Equals("queryValue"))
{
newURL = URLHelper.RemoveParameterFromUrl(newURL, "queryName");
URLHelper.ResponseRedirect(newURL);
}
}
}
}
}
/// <summary>
/// Reloads the control data.
/// </summary>
public override void ReloadData()
{
base.ReloadData();
SetupControl();
}
#endregion
}
Setzen Sie Ihre Webparts in der oberen Zone Ihrer Masterseite und hier geht's.
Hoffe, das hilft!
Es muss nur ein Wert validiert werden, der aus der Abfragezeichenfolge stammt. Wenn die Validierung korrekt ist, wird die Seite normalerweise geladen, wenn nicht, wird der Benutzer umgeleitet. Das ist alles was es gibt. – AnimaSola