html grid_react datagrid

html grid_react datagridASP.NETMVC3Beta初体验之WebGrid   ASP.NETMVC3Beta中除了推出一种新的视图引擎Razor。还推出了几种新的HtmlHelper。我比较关注的是WebGrid,这篇文章将介绍一下WebGrid的使用。WebGrid提供了分页和排序的功能,在此之前在MVC中分页和排序时需要自己去写的。这篇文章将分别介绍在aspx视图引擎和Ra

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用



ASP.NET MVC 3 Beta初体验之WebGrid

    ASP.NET MVC 3 Beta中除了推出一种新的视图引擎Razor。还推出了几种新的HtmlHelper。我比较关注的是WebGrid,这篇文章将介绍一下WebGrid的使用。WebGrid提供了分页和排序的功能,在此之前在MVC中分页和排序时需要自己去写的。这篇文章将分别介绍在aspx视图引擎和Razor视图引擎中如何使用它。

    我通过ADO.NET Entity Data Model从NORTHWND的Products中表中取数据。在Controller中取数据:

    public class HomeController : Controller
    {

        public ActionResult Index()
        {

            NORTHWNDEntities entity = new NORTHWNDEntities();
            return View( entity.Products.ToList());
        }
     }

在aspx视图引擎中使用WebGrid代码如下:

 <div id=”grid”>
 <% var grid = new WebGrid(source: Model, defaultSort: “ProductName”, rowsPerPage: 5); %>
 <%=grid.GetHtml(
     tableStyle: “grid”,
     headerStyle: “head”,
     alternatingRowStyle: “alt”,
     columns: grid.Columns(
               grid.Column(format: (item) => Html.ActionLink(“Edit”, “Edit”, new { id = item.ProductID })),
               grid.Column(format: (item) => Html.ActionLink(“Delete”, “Delete”, null, new { onclick = string.Format(“deleteRecord(‘Employee’, ‘{0}’)”, item.ProductID), @class = “Delete”, href = “JavaScript:void(0)” })),
               grid.Column(“ProductName”,”产品名称”),
               grid.Column(“QuantityPerUnit”,”每单位数量”),
               grid.Column(“UnitPrice”,”单价”),
               grid.Column(“UnitsInStock”, “库存单位”),
               grid.Column(“UnitsOnOrder”,”订单单位”),
               grid.Column(“ReorderLevel”,”重新排序级别”),
               grid.Column(“Discontinued”,”已停产”)
     )
     )

 
   %>
 </div>

在Razor中使用WebGrid代码如下:

 <div id=”grid”>
@{
 var grid = new WebGrid(source: Model,
defaultSort: “ProductName”,
rowsPerPage: 10);
}
@grid.GetHtml(
tableStyle: “grid”,
headerStyle: “head”,
alternatingRowStyle: “alt”,
columns: grid.Columns(
grid.Column(format: (item) => Html.ActionLink(“Edit”, “Edit”, new { id = item.ProductID })),
grid.Column(format: (item) => Html.ActionLink(“Delete”, “Delete”, null, new { onclick = string.Format(“deleteRecord(‘Product’, ‘{0}’)”, item.ProductID), @class = “Delete”, href = “JavaScript:void(0)” })),
grid.Column(“ProductName”,”产品名称”),
grid.Column(“QuantityPerUnit”,”每单位数量”),
grid.Column(“UnitPrice”,”单价”),
grid.Column(“UnitsInStock”, “库存单位”),
grid.Column(“UnitsOnOrder”,”订单单位”),
grid.Column(“ReorderLevel”,”重新排序级别”),
grid.Column(“Discontinued”,”已停产”)
)
)
</div>

WebGrid构造函数如下:

        public WebGrid(IEnumerable<dynamic> source, IEnumerable<string> columnNames = null, string defaultSort = null, int rowsPerPage = 10, bool canPage = true, bool canSort = true, string ajaxUpdateContainerId = null, string fieldNamePrefix = null, string pageFieldName = null, string selectionFieldName = null, string sortFieldName = null, string sortDirectionFieldName = null);

常见参数意思是:

1、source 表示数据源

2、columnNames表示显示的列

3、defaultSort 默认按什么排序

4、rowsPerPage 每页多少行数据

5、canPage 是否能排序

 

上面两段代码的意思是定义了一个既分页又能排序的grid。

运行:

在看看两个view的完整代码:

aspx:

<%@ Page Title=”” Language=”C#” MasterPageFile=”~/Views/Shared/Site.Master” Inherits=”System.Web.Mvc.ViewPage<List<WebGridAspx.Models.Products>>” %>

<asp:Content ID=”Content1″ ContentPlaceHolderID=”TitleContent” runat=”server”>
    产品列表
</asp:Content>

<asp:Content ID=”Content2″ ContentPlaceHolderID=”MainContent” runat=”server”>
<script  type=”text/javascript”>
    function deleteRecord(a, b) {

        alert(“删除:”+b);
    }
</script>
 <h2>产品列表</h2>
 <div id=”grid”>
 <% var grid = new WebGrid(source: Model, defaultSort: “ProductName”, rowsPerPage: 5); %>
 <%=grid.GetHtml(
     tableStyle: “grid”,
     headerStyle: “head”,
     alternatingRowStyle: “alt”,
     columns: grid.Columns(
               grid.Column(format: (item) => Html.ActionLink(“Edit”, “Edit”, new { id = item.ProductID })),
               grid.Column(format: (item) => Html.ActionLink(“Delete”, “Delete”, null, new { onclick = string.Format(“deleteRecord(‘Employee’, ‘{0}’)”, item.ProductID), @class = “Delete”, href = “JavaScript:void(0)” })),
               grid.Column(“ProductName”,”产品名称”),
               grid.Column(“QuantityPerUnit”,”每单位数量”),
               grid.Column(“UnitPrice”,”单价”),
               grid.Column(“UnitsInStock”, “库存单位”),
               grid.Column(“UnitsOnOrder”,”订单单位”),
               grid.Column(“ReorderLevel”,”重新排序级别”),
               grid.Column(“Discontinued”,”已停产”)
     )
     )

 
   %>
 </div>

</asp:Content>

Razor:

代码
 @model List<WebGridRazor.Models.Products>
 @{

  View.Title = “产品列表”;
 }

 <p>
 <h2>产品列表</h2>
 <div id=”grid”>
  @{
 
  var grid = new WebGrid(source: Model,
  defaultSort: “ProductName”,
  rowsPerPage: 3);
 }
  @grid.GetHtml(
     tableStyle: “grid”,
     headerStyle: “head”,
     alternatingRowStyle: “alt”,
     columns: grid.Columns(
          grid.Column(format: (item) => Html.ActionLink(“Edit”, “Edit”, new { id = item.ProductID })),
          grid.Column(format: (item) => Html.ActionLink(“Delete”, “Delete”, null, new { onclick = string.Format(“deleteRecord(‘Product’, ‘{0}’)”, item.ProductID), @class = “Delete”, href = “JavaScript:void(0)” })),
          grid.Column(“ProductName”,”产品名称”),
          grid.Column(“QuantityPerUnit”,”每单位数量”),
          grid.Column(“UnitPrice”,”单价”),
          grid.Column(“UnitsInStock”, “库存单位”),
          grid.Column(“UnitsOnOrder”,”订单单位”),
          grid.Column(“ReorderLevel”,”重新排序级别”),
          grid.Column(“Discontinued”,”已停产”)
     )
     )
 </div>
 </p>

Razor去掉了那些模板页的代码,使代码看起来更整洁。比较喜欢Razor。

总结:本文很简单,介绍了一下ASP.NET MVC 3 Beta中新功能WebGrid,由于这种方式WebGrid是在内存中分页和排序的,所以不适合大数据量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185332.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 超火的Vhr(SpringBoot +Vue)实战项目+文档

    超火的Vhr(SpringBoot +Vue)实战项目+文档项目摘要vhr是一个基于SpringBoot+Vue技术栈开发的前后端分离项目,项目使用SpringBoot2.1.8来开发,集成了当前企业级开发中众多的热门技术点,如消息中间件、Redis缓存、SpringBoot+Vue+ElementUI技术栈等等。技术选型核心框架:SpringBoot2.1.8 安全管理:SpringSecurity 持久层框架:MyBatis 缓存:Redis 数据库:MySQL8 消息队列:RabbitMQ 即时通信:WebSocket

    2025年7月6日
    2
  • DHCP协议简介「建议收藏」

    DHCP协议简介「建议收藏」DHCP协议简介

    2022年5月24日
    35
  • 教大家如何去做外链才是最好的[通俗易懂]

    教大家如何去做外链才是最好的[通俗易懂]外链是我们做SEO优化中每天都要去做的事情,我们一天发几十条,一百条的外链有什么用呢?外链到底有什么价值呢?对我们优化网站又有什么帮助呢?外链的价值主要就是获取投票和增加曝光率,外链可以提升网站的关键

    2022年8月3日
    7
  • 百度地图添加 标示——默认、自定义(小狐狸)标示

    百度地图添加 标示——默认、自定义(小狐狸)标示

    2021年9月8日
    107
  • 大公司里怎样开发和部署前端代码[通俗易懂]

    大公司里怎样开发和部署前端代码[通俗易懂]这是一个非常有趣的非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中。在我的印象中,facebook是这个领域的鼻祖,有兴趣、有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫工程化。接下来,我想从原理展开讲述,多图,较长,希望能有耐心看完。原文https://github.com/fouber/blog

    2022年8月31日
    3
  • 中缀表达式转后缀表达式方法_后缀表达式怎么求值

    中缀表达式转后缀表达式方法_后缀表达式怎么求值前言数据结构与算法中经常遇到中缀表达式转前缀表达式的题目,网上的教程大都很不直观,自己学的时候,也走了很多弯路,现在把一个简单易懂的算法教程分享出来。中缀转后缀举个例子,一个式子:(5+20+1∗3)/14(5+20+1*3)/14(5+20+1∗3)/14如何把该式子转换成后缀表达式呢?其实就是分三步:1、按运算符优先级对所有运算符和它的运算数加括号,(原本的括号不用加)2、把运算…

    2025年7月22日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号