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)


相关推荐

  • Python之xpath

    xpath表达式格式xpath通过"路径表达式"来选择节点,在表现形式上与传统的文件系统类似绝对路径(absolutepath)必须用"/"起首,后面紧跟

    2021年12月18日
  • notepad++注释快捷键[通俗易懂]

    notepad++注释快捷键[通俗易懂]notepad++注释快捷键快捷键如下:单行、多行注释//方式:ctrl+k区块注释/**/方式:ctrl+q取消单行、多行、区块注释:ctrl+shift+k…

  • python和java和c语言的区别-python c 和java的区别有哪些「建议收藏」

    python和java和c语言的区别-python c 和java的区别有哪些「建议收藏」一、pythonpython比较容易学习,语法很简单,融入了很多现代编程语言的特性。python的库非常丰富,可以迅速地开发程序,无论是网站还是小游戏都非常方便。不过,python的脚本的运行效率较低,不适合对运行效率要求较高的程序。Python是一种脚本语言。它更适合用来做算法。Python简单易学,对于新手来讲是编程入门的好选择。Python其实也是基于C++创造的,它们的区别主要体现在,C+…

  • Delphi中强制IdHTTP使用HTTP1.1(转)

    Delphi中强制IdHTTP使用HTTP1.1(转)Delphi中强制IdHTTP使用HTTP1.1(转)标签:delphiwindows工具server2011-07-1807:46952人阅读评论(0)收藏举报分类:DelphiIdHttp控件(29)前两天帮人写程序用IdHTTP控件往一网站发包如下:Delphi代码IdHTTP1.Request.Connection:=’Keep-A…

  • SIFT 尺度空间

    SIFT 尺度空间   最近也注意一些图像拼接方面的文章,很多很多,尤其是全景图拼接的,实际上类似佳能相机附加的软件,好多具备全景图拼接,多幅图像自动软件实现拼接,构成(合成)一幅全景图像(风景)。Sift算法,我略知一二,无法仔细描述(刚也贴了2个最近的资料)。     当就尺度空间(scalespace),我想,其在计算机视觉(ComputerVision)/图像的多分辨率分析(尤其近年来小波的多分

    2022年10月10日
  • spel表达式注入[通俗易懂]

    spel表达式注入[通俗易懂]使用parseExpression方法将字符串表达式转换为Expression对象;ParserContext接口用于定义字符串表达式是不是模板,及模板开始与结束字符;

发表回复

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

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