2016-11-29 107 views
0

我正在一個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,這是我目前正在實現的。有沒有關於解決這個問題的最佳方法的建議?

回答

0

鑑於在您的實施中,優惠本身就是「詳細信息頁面」,所以在您的Sitecore網站中鏈接到它們的正確方法是生成這些頁面的常規<a href>,並讓瀏覽器對它們執行整頁請求。

的Sitecore的API提供了一個名爲LinkManager具有稱爲GetItemUrl這需要類型Sitecore.Data.Items.Item的對象,並返回一個友好的URL到該項目的靜態方法類。

對於您的情況,您會循環使用Sitecoreoffers集合中的對象,並使用LinkManager.GetItemUrl來獲取每個對象的友好URL。然後,您可以在剃鬚刀文件中有一個foreach循環,爲您的Sitecoreoffers對象中的每個Sitecore項目生成A標籤。

相關問題