【发布时间】:2016-06-20 08:33:10
【问题描述】:
我正在尝试使用页面名称构建一个列表以创建面包屑。我在我的布局中使用此代码:
<ol class="breadcrumb " style="margin-bottom: 0px;">
@ViewData("Chemin") As New List(Of String)
@If (Not IsDBNull(ViewContext.RouteData.Values("action").ToString())) Then
@ViewData("Chemin").Add(ViewContext.RouteData.Values("action").ToString())
End If
@For i = 0 To ViewData("Chemin").Count - 1
@:<li>
@ViewData("Chemin").Item(i)
@:</li>
Next i
</ol>
问题是我在.Add 行出现错误
System.NullReferenceException
编辑: 从那以后我尝试过的是
<ol class="breadcrumb " style="margin-bottom: 0px;">
@If (Not IsDBNull(ViewData("Chemin"))) Then
@Code Dim lst As New List(Of String)
ViewData("Chemin") = lst
End Code
End If
@If (Not IsDBNull(ViewContext.RouteData.Values("action").ToString())) Then
@Code ViewData("Chemin").Add(ViewContext.RouteData.Values("action").ToString()) End Code
End If
@For i = 0 To ViewData("Chemin").Count - 1
@:<li>
@ViewData("Chemin").Item(i)
@:</li>
Next i
</ol>
问题是我每次只得到实际页面
【问题讨论】:
-
你能解决这个问题吗?
-
不,我将用我从那以后尝试过的内容更新我的问题。你也想这样做吗?编辑:据说我遇到的错误是因为您需要将第二行替换为:@Code ViewData("Chemin") As New List(Of String) End Code
-
我的解决方案与您想要完成的有什么不同?
-
我只想在我的布局中使用剃须刀,而且它并不能真正回答问题,因为它是一种替代方案,顺便说一句很好
-
当你说“我只想在我的布局中使用 razor”时,你的意思是你想使用 ViewData 而不是视图模型吗?如果不是,那么我的解决方案的哪些行是不可接受的?
标签: vb.net html list razor viewbag