2009-03-23 16 views
22

से लिंक बनाएं मुझे पता है कि मैंने पहले यह किया है लेकिन मुझे याद नहीं है कि कहां या कैसे।साइटकोर आइटम

मैं साइटकोर में किसी आइटम के लिए एक लिंक बनाना चाहता हूं। इस कोड:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID); 
return itm.Paths.Path.ToString(); 

उत्पादन निम्न स्ट्रिंग:

http://localhost/sitecore/content/Home/Item1/Item11/thisItem 

मैं बजाय इस स्ट्रिंग करना चाहते हैं:

http://localhost/Item1/Item11/thisItem.aspx 

क्या करने के लिए पथ प्राप्त करने के लिए सही तरीका क्या है आइटम? इस मामले में मैं एक सामान्य साइटकोर लिंक का उपयोग नहीं कर सकता:

Sitecore.Web.UI.WebControls.Link 

उत्तर

35

आपको यह सुनिश्चित करने की आवश्यकता है कि आप साइटकोर v6 चला रहे हैं।

Sitecore.Links.LinkManager.GetItemUrl(item); 
4

यदि आप अभी भी साइटकोर 5.3 का उपयोग कर रहे हैं, तो आप इसका उपयोग कर सकते हैं। चेतावनी दीजिये कि इस विधि को साइटकोर 6.0 में बहिष्कृत किया गया है।

string url = item.Paths.GetFriendlyUrl(); 
-6

आप यह भी द्वारा कर सकते हैं:

Item.Paths.FullPath 

यह वही है के रूप में:

Sitecore.Links.LinkManager.GetItemUrl(item); 
+1

नहीं, यह एक ही समय में सब कुछ नहीं है की कोशिश करो। फुलपाथ आइटम पथ लौटाता है, GetItemUrl() एक दोस्ताना यूआरएल बनाने के लिए LinkProvider का उपयोग करता है। –

1

अपने वेब नियंत्रण:

<asp:HyperLink ID="HyperLinkItem" runat="server"> 
    Item 
</asp:HyperLink> 

आपका कोड:

+०१२३५१६४१०६
var homeItem = Sitecore.Context.Database.GetItem("/sitecore/content/Home"); 
HyperLinkItem.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(homeItem); 
1

आप नीचे के रूप में आइटम लिंक प्रदान कर सकते हैं:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID); 
return Sitecore.Links.LinkManager.GetItemUrl(itm); 
0

इस

<asp:HyperLink ID="hlItem" runat="server"> 

    </asp:HyperLink> 

aspx.cs

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem("/sitecore/content/Home"); 

    hlItem.Navigateurl =sitecore.links.linkmanager.getitemurl(itm);