我建立菜单链接,所以我需要知道我在哪里。
列表网址如下所示: http://domain.com/list
详细信息页面网址看起来像:http://domain.com/list/detail
我可以搜索硬编码的 / list 部分,但它会被硬编码。
我使用下面的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作为参数。
答案 0 :(得分:1)
@ CurrentPageNode.Url是缺失的部分:
<li class="page_item page-item-1167 @currentpageitem">
<a href="@CurrentPageNode.Url/@kurul.KurulAdi">@kurul.KurulAdi</a>
</li>