我正在开发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,这是我目前正在实现的。有没有关于解决这个问题的最佳方法的建议?
答案 0 :(得分:0)
鉴于在您的实施中,优惠是&#34;详细页面&#34;他们自己,在Sitecore网站中链接到他们的正确方法是为这些页面生成常规<a href>
,让浏览器向他们执行整页请求。
Sitecore API提供了一个名为 LinkManager 的类,它有一个名为 GetItemUrl 的静态方法,它采用类型为 Sitecore.Data.Items.Item <的对象并返回该项目的友好URL。
在您的情况下,您可以遍历Sitecoreoffers
集合中的对象,然后使用LinkManager.GetItemUrl
获取每个对象的友好网址。然后,您可以在剃刀文件中使用foreach
循环,为Sitecoreoffers
对象中的每个Sitecore项生成A标记。</ p>