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是在内存中分页和排序的,所以不适合大数据量。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • android studio与eclipse_androidstudio源码网

    android studio与eclipse_androidstudio源码网 以前公司的老项目,是使用eclipse进行开发的,虽然androidstudio出来了很久,但为了避免迁移会有一些问题,一直忍着没改,但最近谷歌公司上架有要求,要求android的项目要用android8.0来编译,然后就发现eclipse+ADT已经不支持jdk1.8还有android8.0,运行就会有问题,有类似unsported52.0,还有各种莫名其妙的错误,比如无法识别27,…

  • 爱加密亮相第十八届软博会,移动App安全引关注

    爱加密亮相第十八届软博会,移动App安全引关注

  • 做直流逆变中用到的全桥逆变电路测试mos管好坏的方法

    做直流逆变中用到的全桥逆变电路测试mos管好坏的方法1)用测电阻法判别结型场效应管的电极根据场效应管的PN结正、反向电阻值不一样的现象,可以判别出结型场效应管的三个电极。具体方法:将万用表拨在R×1k档上,任选两个电极,分别测出其正、反向电阻值。当某两个电极的正、反向电阻值相等,且为几千欧姆时,则该两个电极分别是漏极D和源极S。因为对结型场效应管而言,漏极和源极可互换,剩下的电极肯定是栅极G。也可以将万用表的黑表笔(红表笔也行)任意接触一个

  • armv7是什么处理器_originos有几个版本

    armv7是什么处理器_originos有几个版本这两天遇到静态库不支持armv7s的问题,所以顺道了解和总结一下几个arm架构的一些基本区别。 ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的。armv6,armv7,armv7s,arm64是ARMCPU的不同指令集,原则上是向下兼容的。如iPhone4SCPU支持armv7,但它同时兼

  • JAVA的除法计算

    JAVA的除法计算我们都知道在JAVA中”/“是取整,”%”是取余,那么我们要是想算类似1÷10=0.1怎么算?方法一DecimalFormat //定义方法 publicstaticStringChufa(inta,intb){ //“0.00000000”确定精度 DecimalFormatdF=newDecimalFormat(“0.00000000”); …

  • node require的用法_await与wait的区别

    node require的用法_await与wait的区别作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提供的require()命令之后,发现node也是通过类似的方法加载模块,我就好奇,这两个是一个东西吗?用electron写了一个webdeskapp,想通过CI上建一个job刷新repository,然后通过网页可以在team里面随时share软件的进度和功能,发现通过浏览器直接打开的这个app没法加载其他的库:

发表回复

您的电子邮箱地址不会被公开。

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