Sitecore链接到另一个页面,并通过一个对象

问题描述:

我正在一个Sitecore项目。我在sitecore中有一个名为Landing-page的项目。登陆页面有一个空白的布局;与一个占位符。我已附加到此占位符一个控制器呈现。从这个控制器渲染整个Landing-page被生成。Sitecore链接到另一个页面,并通过一个对象

登陆页面的主要目的是显示所有优惠。优惠是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发送到操作方法;以便我可以访问优惠详情页面中的所有优惠的栏位。在C#中你有@ html.ActionLink,这是我目前正在实现的。有没有关于解决这个问题的最佳方法的建议?

鉴于在您的实施中,优惠本身就是“详细信息页面”,所以在您的Sitecore网站中链接到它们的正确方法是生成这些页面的常规<a href>,并让浏览器对它们执行整页请求。

的Sitecore的API提供了一个名为LinkManager具有称为GetItemUrl这需要类型Sitecore.Data.Items.Item的对象,并返回一个友好的URL到该项目的静态方法类。

对于您的情况,您会循环使用Sitecoreoffers集合中的对象,并使用LinkManager.GetItemUrl来获取每个对象的友好URL。然后,您可以在剃须刀文件中有一个foreach循环,为您的Sitecoreoffers对象中的每个Sitecore项目生成A标签。