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)
上一篇 2022年10月6日 下午1:36
下一篇 2022年10月6日 下午1:36


相关推荐

  • Makefile中.SUFFIXES的含义

    Makefile中.SUFFIXES的含义Makefile 中 SUFFIXES

    2026年3月16日
    3
  • todomvc项目_reactive vue

    todomvc项目_reactive vue所有实现代码在文章结尾处分析整个实现过程的步骤:1.显示大标题“todoMVC”在h1中引入{{msg}},在js文件中将msg赋值,从而在html中显示大标签的内容2.当没有数据时,两块模板需要隐藏,用到v-if标签。将两个模板放在一个template标签中,当items.length=0时,则v-if=false,进而两块模板隐藏。3.引入数据。将JS中写好的默认数据引入在html的每一个li标签中。4.将每个事件划分为完成/未完成。该功能用到双向数据绑定,可以在浏览器中vue模

    2025年10月30日
    4
  • 差分进化算法总结

    差分进化算法总结基本介绍 DE Differential 算法于 1997 年由 RainerStorn 和 KennethPrice 在遗传算法等进化思想的基础上提出的 本质是一种多目标 连续变量 优化算法 用于求解多维空间中整体最优解 其基本思想即是来源于遗传算法 模拟遗传算法中的杂交 变异 复制来设计算子 DE 算法和 GA 算法的相同点 随机生成初始种群以种群中个体适应度值为选择标准主要过

    2026年3月18日
    1
  • JsonPath文档

    JsonPath文档1.介绍本文翻译自官方文档,JsonPath表达式通常是用来路径检索或设置Json的。其表达式可以接受“dot–notation”和“bracket–notation”格式,例如$.store.book[0].title、$[‘store’][‘book’][0][‘title’]2.操作符符号 描述 $ 查询的根节点对象,用于表示一个json数据,可以是数组或对象…

    2022年6月15日
    135
  • 头文件string与string.h的区别_conio h是什么头文件

    头文件string与string.h的区别_conio h是什么头文件一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。  但唯独string特别。 问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比

    2025年11月2日
    5
  • Python基础——零基础学Python

    Python基础——零基础学Python在这里插入图片描述一 Python 语言家族 1Introductio 1Python 简介 Python 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 简单来说 Python 是一门编程语言 帮助我们更好的与计算机沟通 功能全面 易学易用 可拓展语言 所以说 人生苦短 我学 Python Python 的设计具有很强的可读性 相比其他语言经常使用英文关键字 其他语言的一些标点符号 它具有比其他语言更有特色语法结构 Python 是一种解释型高级语言 这意味着开发过程中没有

    2026年3月26日
    1

发表回复

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

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