asp:asp.net mvc3中的菜单功能

时间:2012-08-05 11:27:25

标签: asp.net-mvc-3

如何在ASP.NET MVC3中使用aspx菜单功能。因此,单击菜单项将弹出gridview。

2 个答案:

答案 0 :(得分:2)

ASP.NET MVC没有像ASP.NET WebForms中那样的任何Server控件。这一切都是关于手工编写纯HTML代码。 (Webforms中的所有服务器控件也生成HTML并呈现给浏览器)

您可以做的是,为您的菜单项添加标签。然后单击,您可以调用另一个操作方法,该方法以表格格式加载要显示的所有数据。如果这些菜单将在所有页面中,您可以将它们保存在_layout.cshtml中,这将像主页一样。

如果你想在没有页面重新加载的情况下将一些数据加载到表(UI),你可以使用jQuery ajax。

假设您的Menu有这样的标记,下面的代码使用jQuery加载函数加载Action方法的响应。

//Don't forget to include jQuery library 
<ul>
  <li>@Html.ActionLink("Users","List","Users",null,new {@class="ajaXMenu"})</li>
  <li>@Html.ActionLink("Jobs","List","Jobs",null,new {@class="ajaXMenu"})</li>
</ul>
<div id="contentDiv"></div>  
<script type="text/javascript>
   $(function(){
       $("a.ajaXMenu").click(function(e){
         e.preventDefault();
         $("#contentDiv").load($(this).attr("href"));

       });
   });
</script>

答案 1 :(得分:0)

首先,您可能希望查看类似于MVC的站点地图,其中有一个非常好的开源选项: https://github.com/maartenba/MvcSiteMapProvider

然后你会想要实际的菜单。没有MVC菜单控件,所以你必须自己创建一个,或者使用别人的。 Twitter bootstrap有一个相当不错的导航菜单: http://twitter.github.com/bootstrap/components.html#navbar

此外,telerik还有一个您可以使用的菜单,但是这个菜单需要许可证: http://demos.kendoui.com/web/menu/index.html