2014-09-01 123 views
1

我建立菜单链接,所以我需要知道我在哪里。如何获取Composite C1中的列表/详细信息url?

名单网址是这样的:http://domain.com/list

详细信息页面的URL看起来像http://domain.com/list/detail

我可以搜索硬编码/列表的一部分,但它会被硬编码。

我用下面的PATHINFO功能,我总是使用0作为参数:

string PathInfo (int segment) 
{ 
    string pathInfo = C1PageRoute.GetPathInfo()??string.Empty; 
    string[] segments = pathInfo.Split('/'); 
    string stringValue; 
    stringValue = segments.Skip(segment + 1).FirstOrDefault(); 
    return stringValue; 
} 

...

// register the use of the path info 
C1PageRoute.RegisterPathInfoUsage();  
string kuruladi = PathInfo(0); 

...

@foreach (var kurul in kurullar) 
    { 
     string currentpageitem = ""; 
     if (kurul.KurulAdi == kuruladi) 
     { 
     currentpageitem = "current_page_item"; 
     } 

     <li class="page_item page-item-1167 @currentpageitem"> 
     <a href="@kurul.KurulAdi">@kurul.KurulAdi</a> 
     </li> 
    } 

,因为我不知道我在哪里(列表或详细信息)PathInfo(0)不能帮助。不正确的例子链接:http://domain.com/Sample-Detail-Page应该http://domain.com/Kurul/Sample-Detail-Page

我怎么能写一个更通用的代码以提取的准确位置,然后建立正确的链接?至少我在列表或细节中,所以我可以使用0或1作为参数。

回答

1

@ CurrentPageNode.Url是缺失的部分:

<li class="page_item page-item-1167 @currentpageitem"> 
    <a href="@CurrentPageNode.Url/@kurul.KurulAdi">@kurul.KurulAdi</a> 
</li>