音乐商店2教程 - VB转换

时间:2011-02-24 16:15:31

标签: vb.net asp.net-mvc-3

我是asp.net的新手并且一直在完成本教程 - 直到第10课,但是我无法让局部视图起作用。

控制器: -      “         'GET:/ ShoppingCart / CartSummary

    <ChildActionOnly()>
    Public Function CartSummary() As ActionResult
        Dim cart = ShoppingCart.GetCart(Me.HttpContext)

        ViewData("CartCount") = cart.GetCount()

        Return PartialView("CartSummary")
    End Function

查看: - CartSummary: -

@modeltype TEST.Cart

@Html.ActionLink("Cart (" & ViewData("CartCount") & ")", _
                      "Index", _
                      "ShoppingCart", _
                      New With {.id = "cart.GetCount"})

_layout: -

<!DOCTYPE html>
<html>
<head>
    <title>@ViewData("Title")</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
</head>

<body>

    <div id="header">
        <h1>   ASP.NET MVC MUSIC STORE</h1>
        <ul id="navlist">
            <li class="first"><a href="@Url.Content("~")" id="current">Home</a></li>
            <li><a href="@Url.Content("~/Store/")">Store</a></li>
            <li>@Html.RenderAction("CartSummary", "ShoppingCart")</li>
            <li><a href="@url.Content("~/StoreManager/")">Admin</a></li>
        </ul>
    </div>
    <div id="main">
           @RenderBody()
    </div>
</body>
</html>

返回的错误是“Expression不会产生值”。 我可以删除标签,然后显示CartSummary。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您想使用Html.RenderAction帮助器,请使用正确的语法:

@Code
    @Html.RenderAction("CartSummary", "ShoppingCart")
End Code

或者如果你喜欢单行:

@Code @Html.RenderAction("CartSummary", "ShoppingCart") End Code

或者如果你想使用Html.Action助手,这就是语法:

@Html.Action("CartSummary", "ShoppingCart")

将这两者与C#等价物进行对比:

@{Html.RenderAction("CartSummary", "ShoppingCart");}
@Html.Action("CartSummary", "ShoppingCart")

作为VB.NET的人,你可能会发现following article很有用。