在我的情况下,我可以使用ASP.NET MVC Partial吗?

时间:2012-02-04 10:24:36

标签: asp.net-mvc razor

我是ASP.NET MVC的新手,所以这个问题对你来说可能很简单,但请给我更详细的信息:)

在我的应用程序中有一个菜单,所有这个菜单项存储在数据库中,菜单显示每个页面。我认为我需要的是部分但我不确定如何!

BTW我总是可以使用ajax,那么哪种方式更好?

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

您可能不需要将其视为局部视图,如果您有正确的帮助函数,则可以使用常规.net代码在运行时生成它。无论如何,对于你的问题,你可以通过几种方式完成这些。

  • 创建局部视图并使用部分标记

    加载它
    @Html.Partial("_LogOnPartial") 
    
  • 或者您可以编写Html帮助函数

    public static string GetMenus(this HtmlHelper html)
    {
         //Generate your menu in HTML format
    }
    

    并使用html渲染器

    渲染它
    @Html.Raw(Html.GetMenus())
    
  • 对于ajax,您还可以编写一些与GetMenu完成相同工作的函数,并使用Ajax get调用它。

        $.ajax({
            url: '/Controller/YourGetMenu',
            type: 'GET',
            dataType: 'json',
            cache: false,
            async: false,
            data: { ParameterName: itemvalue },
            success: function (data) {
                //Do the menu rendering work
                  },
            error: function (ex) {
                alert('Error.');
            }
    
        });
    

我会选择第二种选择。