0

如何在 ASP.NET MVC3 中使用 aspx 菜单功能。这样单击菜单项将填充gridview。

4

2 回答 2

2

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

您可以做的是,为您的菜单项设置标签。然后在单击时,您可以调用另一个操作方法,该方法会加载要以表格格式显示的所有数据。如果这些菜单将出现在所有页面中,您可以将它们保留在 _layout.cshtml 中,这将起到母版页的作用。

如果您想在不重新加载页面的情况下将一些数据加载到 Table(UI),您可以使用 jQuery ajax 来完成。

假设您的菜单有一些类似这样的标记,下面的代码使用 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>
于 2012-08-05T13:06:06.153 回答
0

首先,您可能想要研究 MVC 的站点地图之类的东西,其中有一个非常好的开源选项: https ://github.com/maartenba/MvcSiteMapProvider

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

此外,telerik 有一个你也可以使用的菜单,但是这个你需要一个许可证: http ://demos.kendoui.c​​om/web/menu/index.html

于 2012-08-05T13:06:51.357 回答