首页 > 解决方案 > 参数的sitefinity页面设置

问题描述

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

标签: sitefinity

解决方案


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

因此,这 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 字段设置不同的值。


推荐阅读