Sitecore链接到另一个页面并传递对象

时间:2016-11-29 21:36:14

标签: c# asp.net sitecore

我正在开发Sitecore项目。我在sitecore中有一个名为Landing-page的项目。登陆页面布局空白;有一个占位符。我已经附加了这个占位符一个控制器渲染。从此控制器渲染生成整个Landing页面。

登陆页面的主要目的是显示所有优惠。优惠是Multilist类型。我在Landing-page项目上提供了一个多列表字段。

在我使用的单控制器渲染方法中:

var Sitecoreoffers = (Sitecore.Data.Fields.MultilistField)item.Fields["Offers"];

访问目标网页的优惠字段。在我的操作方法中,控制器渲染指向。我构建了自己的viewmodel,它从Sitecore项目登陆页面字段中获取商品,并将其等于C#List数据类型。

var Sitecoreoffers = (Sitecore.Data.Fields.MultilistField)item.Fields["Offers"];

我现在要做的是当用户点击我被重定向到优惠详情页面的优惠时。为此;我想将商品ID发送给Action Method;这样我就可以访问优惠详情页面中的所有优惠字段。在C#中你有@ html.ActionLink,这是我目前正在实现的。有没有关于解决这个问题的最佳方法的建议?

1 个答案:

答案 0 :(得分:0)

鉴于在您的实施中,优惠是&#34;详细页面&#34;他们自己,在Sitecore网站中链接到他们的正确方法是为这些页面生成常规<a href>,让浏览器向他们执行整页请求。

Sitecore API提供了一个名为 LinkManager 的类,它有一个名为 GetItemUrl 的静态方法,它采用类型为 Sitecore.Data.Items.Item <的对象并返回该项目的友好URL。

在您的情况下,您可以遍历Sitecoreoffers集合中的对象,然后使用LinkManager.GetItemUrl获取每个对象的友好网址。然后,您可以在剃刀文件中使用foreach循环,为Sitecoreoffers对象中的每个Sitecore项生成A标记。<​​/ p>