设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

ASP.NET MVC的WebGrid的6个重要技巧

2014-11-20 10:05| 发布者: joejoe0332| 查看: 2209| 评论: 0|原作者: BreakinBad|来自: oschina

摘要: 当一个 Webform 开发者转做 MVC 开发的时候, 他会发现, 许多自己喜欢的东东不见了. 没有代码隐藏模型(behind code), 没有 view state, 没有页面生命周期(page life cycle), 没有服务端控件(server control). 你可以 ...


技巧 3 : 只显示需要显示的 MVC WebGrid 列

  经常会有这种情况, 集合里面有 10 列, 但你只想显示其中的 5 列。 要做到这种效果, 你只要把要显示的列名传给参数 “ColumnNames” 就可以了。


1
WebGrid obj = new WebGrid(Custs,columnNames: new[] { "CustomerCode"});


  代码的运行效果如下图,只有 “CustomerCode” 显示出来,  “CustomerName” 已经看不到了.


技巧 4 : 自定义 MVC WebGrid 的列标题

  我们经常会发现, 集合中的列名不是那么友好。 比如,集合中有一列叫  “CCode”,但是我们想在表格中显示出来的是 “CustomerCode”.


  那就把要显示出来的列标题传给 “GetHtml” 函数的参数  “columns”。 下面的代码, 把 “CustomerCode” 显示成 “Code”, “CustomerName” 显示成 “Name”。


1
2
3
4
5
6
7
8
@{
    WebGrid obj = new WebGrid(Custs);
}
 
@obj.GetHtml(columns: obj.Columns(
 obj.Column("CustomerCode", header: "Code"),
     obj.Column("CustomerName", header: "Name")
 ));

  运行结果如下图.


技巧 5 : 给 MVC WebGrid 添加样式

  改变表格的外观,是开发中最常见的问题之一. 我们可以用 CSS 给 MVC Webgrid 设置样式.

  你可以给 WebGrid 各个部分设置样式。如: 表头, 表尾, 行等。

  就像平时写的 CSS 样式那样, 你可以设置  “webGrid” 的边距, 边框等。具体如下:

1
2
3
4
5
6
7
<style type="text/css">
    .webGrid {
        margin: 4px;
        border-collapse: collapse;
        width: 500px;
        background-color: #B4CFC3;
    }

  把上面的样式名称传给 “GetHtml”  函数的参数 “tableStyle” 。

1
2
3
4
@{
    WebGrid obj = new WebGrid(Custs);
}
@obj.GetHtml(tableStyle:"webGrid");

  运行的时候, 就能在浏览器中看到下面的效果:


技巧 6: 实现 Ajax 调用 WebGrid

  基本上现在的网站都离不开 Ajax 。 如果你想在 Ajax 代码中调用 WebGrid, 就按下面的步骤做。 首先, 把调用 “GetHtml” 的代码放到 div 标志中, 就像下面的代码那样写。其次, 给 div 设置一个 id , 并把这个 id 传给参数  “ajaxUpdateContainerId” 。

1
2
3
4
5
6
<div id="div1">
    @{
        WebGrid obj = new WebGrid(Custs, ajaxUpdateContainerId: "div1");
    }
    @obj.GetHtml();
</div>

  如果你没学过 ASP.NET MVC , 可以到这里看下视频 www.questpond.com,两天学会 MVC (共 16 小时).



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部