Source: The WebGrid is a helper that was included on the new Beta 1 version of ASP.NET MVC 3 (Changes can happens since it is a beta version) that enable us to show data easily. With a simple command @grid.getHtml() we have as return a populated table, with paging, sorting and alternated lines. Want more? yes, it follows the webstandards. The WebGrid constructor takes a number of parameters. Only one is mandatory. Here’s an explanation of all of them: string pageFieldName = null Controller: public ActionResult WebGrid() { return View(VideoRepository.FindAll().OrderByDescending(v=>v.CreateTime)); } View: @model IEnumerable<Funny.Models.Video> @{ ViewBag.Title = "WebGrid"; Layout = "~/Areas/Admin/Views/Shared/Layout.cshtml"; } <h2> WebGrid</h2> @{ var grid = new WebGrid(Model, rowsPerPage: 2); @grid.GetHtml( tableStyle: "data-table", columns: grid.Columns( grid.Column("Title"), grid.Column(header: "Image", format: (item) => Html.Raw(string.Format("<img src=\"/Content/videos/{0}\" class=\"fancybox\" />", item.ImageName))), grid.Column("CreateTime", format: (item) => string.Format("{0:d}", item.CreateTime)) ) ) } CSS: /* data-table */ .data-table { border: #DDDDDD 1px solid; width: 100%; background:#FFF; } .data-table thead th { padding: 5px 10px; text-align: left; border: 1px solid #DDDDDD; border-bottom: 1px solid #C1C8D2; background-color: #F2F4F6; font-size: 13px; } .data-table td { line-height: 20px; padding: 5px 10px; border: 1px solid #DDDDDD; } .data-table tr:hover { background-color: #F3F3F3; } .data-table td a { text-decoration: underline; } .data-table tfoot td { font-weight: bold; padding: 10px 0; text-align: center; } .data-table tfoot a { border: 1px solid #9AAFE5; color: #2E6AB1; display: inline-block; margin: 0 2px; padding: 0 5px; text-decoration: none; } Result: What is the WebGrid?
System.Collections.Generic.IEnumerable<dynamic> source
The collection of objects
System.Collections.Generic.IEnumerable<string> columnNames = null
The names of the columns appearing in the grid
string defaultSort = null
The name of the column to sort the grid by default
int rowsPerPage = 10
The number of rows to display per page is paging is enabled
bool canPage = true
Determines if the WebGrid can be paged
bool canSort = true
Determines if the WebGrid can be sorted
string ajaxUpdateContainerId = null
The id of the containing element for Ajax paging and sorting support
string ajaxUpdateCallback = null
The callback function for Ajax paging and sorting support
string fieldNamePrefix = null
The value which prefixes the default querystring fields
A value that replaces the default querystring page field
string selectionFieldName = null
A value that replaces the default querystring row field
string sortFieldName = null
A value that replaces the default querystring sort field
string sortDirectionFieldName = null
A value that replaces the default querystring sortdir field
The GetHtml method renders the grid. To render a simple grid with no formatting, use the following code. I’m using the model that’s being passed in to the view for these examples.
MVC WebGrid
转载use "ajaxUpdateContainerId"
<div id="grid">
@{
var grid = new WebGrid(Model, rowsPerPage: 2, ajaxUpdateContainerId: "grid");
@grid.GetHtml(
tableStyle: "data-table",
columns: grid.Columns(
grid.Column("Title"),
grid.Column(header: "Image", format: (item) => Html.Raw(string.Format("<img src=\"/Content/videos/{0}\" class=\"fancybox\" />", item.ImageName))),
grid.Column("CreateTime", format: (item) => string.Format("{0:d}", item.CreateTime))
)
)
}
</div>
上一篇:浅谈URL生成方式的演变
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【MVC】深入浅出MVC(三)——MVC分析
一、前言 在前一篇博客中小编通过MVC和WebForm的对比来引出了MVC,但是还没有开始总
mvc 应用 可扩展 博客 webform