如何在ASP.NET MVC3中使用aspx菜单功能。因此,单击菜单项将弹出gridview。
答案 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