可以将视图显示为MVC中另一个视图的一部分

时间:2016-04-26 08:26:05

标签: c#

嗨,我对C#MVC很新, 我有这样的麻烦

describe_volumes

它在_layout.cshtml中,那些链接现在我是硬代码。 在数据库中,它包含这些链接。 现在我要创建一个视图&控制器显示它

控制器

<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <li>@Html.ActionLink("Trang Chủ", "Index", "Home")</li>
        <li>@Html.ActionLink("Giới Thiệu", "About", "Home")</li>
        <li>@Html.ActionLink("Tin Tức", "News", "Home")</li>
        <li>@Html.ActionLink("Thăng Hạng", "Upgrade", "Home")</li>
        <li>@Html.ActionLink("Thẻ Loyalty", "Card", "Home")</li>
        <li>@Html.ActionLink("Tích Điểm", "Point", "Home")</li>
    </ul>
    @Html.Partial("_LoginPartial")
</div>

查看

 public ActionResult MenuFront()
 {return View(db.Loyalty_MenuFront.Where(m => m.MenuType == 1 && m.Display == 1 && m.ParentID == 0));}

但它不起作用。拜托,请帮助我。谢谢!

2 个答案:

答案 0 :(得分:0)

我相信您的部分视图可能会保存在解决方案中的错误文件夹下。它应该与您的视图位于同一文件夹中,或者应该位于&#34; Views&#34; &GT; &#34;共享&#34;文件夹中。

答案 1 :(得分:0)

谢谢你们, 我用ajax来解决它

<script>
$(document).ready(function () {
    $.ajax({
        type: "POST",
        url: "/Home/MenuFront",
        dataType: 'json',
        success: function (data) {
            for (var i = 0; i <= Object.keys(data).length; i++) {
                $("#menu").append('<li><a href="/' + data[i].controller + '/' + data[i].method + '">' + data[i].name + '</a></li>');
            }
        }
    });
});

public ActionResult MenuFront()
    {
        var menu = db.Loyalty_MenuFront.Where(m => m.MenuType == 1 && m.Display == 1 && m.ParentID == 0)
            .Select (m => new { 
                name = m.Name, 
                method = m.Method, 
                controller = m.Controller
            })
            .ToList();
        return Json(menu);
    }