Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sitecore,是否可以使用参数在CSHTML代码之间切换?_Html_Razor_Parameters_Sitecore - Fatal编程技术网

Sitecore,是否可以使用参数在CSHTML代码之间切换?

Sitecore,是否可以使用参数在CSHTML代码之间切换?,html,razor,parameters,sitecore,Html,Razor,Parameters,Sitecore,我制作了一个新的小部件,根据客户的需要,在我的CSHTML中有两种不同的布局设计。所有其他代码都是相同的,只是HTML真正不同。我想知道是否可以在CSHTML中使用参数,而不是使用两个不同的小部件。然后在小部件的控件属性中调用它们以调用该设计。下面是伪代码 if(sitecore中的参数=null) {此HTML代码} else if(sitecore中的参数=滚动) {此HTML代码} 到目前为止,我还没有在网上找到这方面的任何例子,所以任何帮助都是非常好的 谢谢 为此,可以使用渲染参数。

我制作了一个新的小部件,根据客户的需要,在我的CSHTML中有两种不同的布局设计。所有其他代码都是相同的,只是HTML真正不同。我想知道是否可以在CSHTML中使用参数,而不是使用两个不同的小部件。然后在小部件的控件属性中调用它们以调用该设计。下面是伪代码


if(sitecore中的参数=null)

{此HTML代码}

else if(sitecore中的参数=滚动)

{此HTML代码}


到目前为止,我还没有在网上找到这方面的任何例子,所以任何帮助都是非常好的


谢谢

为此,可以使用渲染参数。渲染参数可用于将参数传递给Sitecore演示组件。它们通常用于定义组件的表示形式

编辑器可以在页面上的渲染上设置渲染参数(以便它们可以决定使用哪个显示)


此处有更多信息:或。

在Sitecore中有多个选项可以执行此操作,要切换或调整html,您可以在体验编辑器中使用此选项

1) 渲染参数

渲染参数可用于将参数传递到Sitecore渲染

2) 兼容的渲染, 内容编辑器在渲染和使用相同数据源之间切换的简单方法:


如其他答案中所述,您可以使用渲染参数,让作者选择渲染属性的值,然后决定要运行的逻辑。这将要求用户在向页面添加组件后进行更改

另一种选择是使用视图/控制器渲染上的
参数
字段。这将允许您在Sitecore中定义两个单独的渲染,并允许编辑器选择所需的变体。结合使用将允许编辑器在变体之间快速切换

在视图渲染/控制器渲染中,根据需要设置参数字段,例如:

参数:shouldcoll=true&WidgetClass=alert

然后,您可以在代码中访问以下参数:

@using Sitecore.Mvc.Presentation
@{
    RenderingParameters parameters = Sitecore.Mvc.Presentation.RenderingContext.CurrentOrNull.Rendering.Parameters;
    bool shouldScroll = MainUtil.GetBool(parameters["ShouldScroll"], false);
    string widgetClass = parameters["WidgetClass"];
}

@if(shouldScroll)
{
    <div>Keep Scrolling!</div>
}
else if (widgetClass == "alert")
{
    <div class="@widgetClass">OH NO!</div>
}
@使用Sitecore.Mvc.Presentation
@{
RenderingParameters=Sitecore.Mvc.Presentation.RenderingContext.CurrentOrNull.Rendering.parameters;
bool shouldcoll=MainUtil.GetBool(参数[“shouldcoll”],false);
字符串widgetClass=参数[“widgetClass”];
}
@如果(应滚动)
{
继续滚动!
}
else if(widgetClass==“警报”)
{
哦,不!
}
你可以知道我以前提供的