参数的站点限制页面设置

问题描述

我有一个控制器,将与Sitefinity中的三个不同页面共享。 API将为三个页面中的每个页面采用不同的参数。是否可以设置参数并可以在Controller中使用的页面设置值?

解决方法

您可以将公共属性添加到控制器,这些属性将显示在小部件的设计器中-当您在后端“编辑”小部件时,可以为这些属性设置不同的值。

因此,这3个页面中的每个页面都可以在其中设置唯一值。

示例:

[ControllerToolboxItem(Name = "TemporaryRedirectController",Title = "Temporary Redirect",SectionName = "Custom Widgets",CssClass = "sfMvcIcn")]
public class TemporaryRedirectController : Controller
{
    public string RedirectUrl { get; set; }

    public ActionResult Index()
    {
        if (SystemManager.IsDesignMode)
        {
            return Content($"This widget will 302 redirect to {RedirectUrl}");
        }

        if (!this.RedirectUrl.IsNullOrEmpty())
        {
            return Redirect(this.RedirectUrl);
        }

        return new EmptyResult();
    }
}

在上面的示例中,您可以将此小部件拖动到3个不同的页面,并且在对其进行编辑时,将能够为RedirectUrl字段设置一个不同的值。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...