文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ASP.NET MVC 2中如何实现右键菜单和简单分页

2023-06-17 14:53

关注

本篇文章为大家展示了ASP.NET MVC 2中如何实现右键菜单和简单分页,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在ASP.NET MVC中实现右键菜单。本文还将介绍一下在ASP.NET MVC中如何实现简单的分页。效果如下图:

ASP.NET MVC 2中如何实现右键菜单和简单分页首先,下载此插件。

新建一个asp.net mvc应用程序。将此插件放入Scripts文件夹。并在页面上引用。

这个demo使用到NORTHWND数据库的Product表。

定义右键菜单:

<div class="contextMenu" id="myMenu1"> <ul>   <li id="detail"><img src="http://www.cnblogs.com/Content/detail.ico" />detail</li>   <li id="new"><img src="http://www.cnblogs.com/Content/new.ico" />new</li><li id="delete"> <img src="http://www.cnblogs.com/Content/delete.ico"/>delete</li>   <li id="modify"><img src="http://www.cnblogs.com/Content/modify.ico"/>modify</li>    </ul> </div>

将此菜单定义在产品名上,故在在产品名上添加一个class供jquery选择。

<td class="showContext" id="<%= item.ProductID %>"><%: item.ProductName %></td>

在页面上插入下面脚本。用于绑定菜单项的行为。为了简单起见,将所以的菜单项的行为都定义成导航到详情页面.

<script type="text/javascript">      $(document).ready(function () {         $('td.showContext').contextMenu('myMenu1', {            bindings: {                 'detail': function (t) {              document.location.href = '/Products/Detail/'+t.id;                   },                  'new': function (t) {           document.location.href = '/Products/Detail/' + t.id;                },                   'delete': function (t) {                       confirm("你确定删除吗?");            document.location.href = '/Products/Detail/' + t.id;                  },                   'modify': function (t) {         document.location.href = '/Products/Detail/' + t.id;                 }               }          });       });  </script>

这样就非常简单的实现了右键菜单的功能。

下面说下实现简单的分页。asp.net mvc中分页非常简单。

看下面定义的table的html代码:

 <table>     <tr>               <th>                   ProductName                </th>           <th>                  SupplierID               </th>               <th>                CategoryID11             </th>             <th>                  QuantityPerUnit            </th>             <th>                  UnitPrice             </th>              <th>                 UnitsInStock20             </th>            <th>                  UnitsOnOrder23             </th>              <th>                 ReorderLevel              </th>             <th>                 Discontinued               </th>          </tr>     <% foreach (var item in Model.Products)          { %>         <tr>   <td class="showContext" id="<%= item.ProductID %>"> <%: item.ProductName %></td>              <td>                  <%: item.SupplierID %>            </td>              <td>                 <%: item.CategoryID %>             </td>              <td>                 <%: item.QuantityPerUnit %>              </td>              <td>        <%: String.Format("{0:F}", item.UnitPrice) %>             </td>              <td>                 <%: item.UnitsInStock %>              </td>           <td>              <%: item.UnitsOnOrder %>              </td>           <td>            <%: item.ReorderLevel %>             </td>             <td>                <%: item.Discontinued %>           </td>         </tr>          <% } %> </table>

我们只要在这个table下面插入一段分页的HTML脚本就行了。分页的脚本当然要生成,使用Htmlhelper的扩展方法去生成这个脚本。看下面的扩展方法,非常的简单的生成了分页的html代码:

public static string Pager(this HtmlHelper helper, int currentPage, int currentPageSize, int totalRecords, string urlPrefix)           {             StringBuilder sb1 = new StringBuilder();   int seed = currentPage % currentPageSize == 0 ? currentPage : currentPage - (currentPage % currentPageSize);   if (currentPage > 0)   sb1.AppendLine(String.Format("<a href=\"{0}/{1}\">Previous</a>", urlPrefix, currentPage));   if (currentPage - currentPageSize >= 0)  sb1.AppendLine(String.Format("<a href=\"{0}/{1}\">...</a>", urlPrefix, (currentPage - currentPageSize) + 1));  for (int i = seed; i < Math.Round((totalRecords / 10) + 0.5) && i < seed + currentPageSize; i++)   {  sb1.AppendLine(String.Format("<a href=\"{0}/{1}\">{1}</a>", urlPrefix, i + 1));   }  if (currentPage + currentPageSize <= (Math.Round((totalRecords / 10) + 0.5) - 1))  sb1.AppendLine(String.Format("<a href=\"{0}/{1}\">...</a>", urlPrefix, (currentPage + currentPageSize) + 1));  if (currentPage < (Math.Round((totalRecords / 10) + 0.5) - 1))  sb1.AppendLine(String.Format("<a href=\"{0}/{1}\">Next</a>", urlPrefix, currentPage + 2));  return sb1.ToString();  }

然后在table后面添加下面的代码,在table下面输出分页的html代码:

<div class="pager">   <%=Html.Pager(Model.CurrentPage, Model.TotalPages,Model.TotalItems ,"/Products/List")%>   </div>

这样就完成分页和右键菜单的功能了。是不是非常的简单呢。:)

效果:

ASP.NET MVC 2中如何实现右键菜单和简单分页

显示:

ASP.NET MVC 2中如何实现右键菜单和简单分页

上述内容就是ASP.NET MVC 2中如何实现右键菜单和简单分页,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯