我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

本篇文章为大家展示了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 class="lazy" data-src="http://www.cnblogs.com/Content/detail.ico" />detail</li>   <li id="new"><img class="lazy" data-src="http://www.cnblogs.com/Content/new.ico" />new</li><li id="delete"> <img class="lazy" data-src="http://www.cnblogs.com/Content/delete.ico"/>delete</li>   <li id="modify"><img class="lazy" data-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

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

本篇文章为大家展示了ASP.NET MVC 2中如何实现右键菜单和简单分页,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在ASP
2023-06-17

vbs如何实现右键菜单中添加CMD HERE

这篇文章主要介绍了vbs如何实现右键菜单中添加CMD HERE,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。右键菜单中添加CMD HERE 代码如下:Set WshShell
2023-06-08

如何实现右键菜单屏蔽和复制到剪贴板的javascript

这篇文章主要介绍了如何实现右键菜单屏蔽和复制到剪贴板的javascript,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。function copyText(){ var
2023-06-03

如何实现右键菜单中添加打开MS-DOS的批处理bat

小编给大家分享一下如何实现右键菜单中添加打开MS-DOS的批处理bat,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!reg add "HKCR\*\shell\m
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录