zoukankan      html  css  js  c++  java
  • MvcContrib开源控件的表格显示

      ASP.NET MVC里显示表格不像WebForm里那般容易。我归纳有以下三种方式:1JQERY+插件的方式。2、在页面通过  Foreach循环的方式做显示。3、使用开源控件,比如MvcContrib。MvcContrib是一个很出名的控件,功能上夜是足够的强大,包括对AOP的支持等。下面仅简单说说MvcContrib的初次使用体会。MvcContrib可以在CodePlex上下载。

      网上也有一些大侠对MvcContrib的使用做个一些介绍,但是可能由于版本的问题,现在关于它的使用按照大鸟们得说法又不太一样。所以我将自己的使用经历记录下来,以供有需要的朋友们了解了解。当然,我也毕竟刚开始用,有很多都还不知道,希望大家有机会相互借鉴一下。

      首先说说我使用的MvcContrib的版本2.0.96.0。

      熟悉WebForm模式或者MVC模式的朋友一定知道System.Web配置节下有个Pages节点。这个节点就是对工程下所有页面做做的一些配置,包括明明空间等。首先是在Web.Config文件中做配置。需要引入的命名空间有如下几个:

      

    <add namespace="MvcContrib.UI"/>
    <add namespace="MvcContrib.UI.Html"/>
    <add namespace="MvcContrib"/>
    <add namespace="MvcContrib.UI.Grid"/>
    

      在页面上就可以通过<%Html.Grid%>使用了。Grid是个泛型方法,需要制定泛型类型,以使用此类型来做表格显示。然后就可以直接给出数据源,然后进行输出了。如:<% Html.Grid<Demo.Models.Student>(ViewData.Model).AutoGenerateColumns<Demo.Models.Student() %>。通过AutoGenerateColumns泛型方法就可以进行输出。不过他输出的是从Controller返回的整个数据表。

      当然,让Controller层返回的数据有选择行的输出也是可行的。具体方式如下:

        <% 
            Html.Grid<Demo.Models.Student>(ViewData.Model).Columns(           
                cols=>
                {
                    cols.For(s=>s.Name);
                    cols.For(s=>s.Address,"地址");
                }
                );
         %>
    

      通过上面的Lambda表示式,就可以输出制定的数据列了。当然也可以对列做一些样式设置。如:

     <% 
            Html.Grid<Demo.Models.Student>(ViewData.Model).Columns(           
                cols=>
                {
                    cols.For(s=>s.Name).Attributes(new Hash(@class => "grid").Add<int>("cellpadding", 2).Add<int>
            ("cellspacing", 0));
                    cols.For(s=>s.Address,"地址").DoNotEncode();
                }     
                )
                .Empty("没有数据")
                .HeaderRowAttributes(new Hash(Style=>"text-align:center;font:bold 13px/20px Verdana;"));
         %>
    

      

      Attributes是对列做样式,DoNotEncode是对列显示做的HTML编码,Empty指明没有数 据时显示的信息、<br>HeaderRowAttributes设置表头的样式。

      以前版本中用法和现在稍有差别:之前版本中,Columns是作为Grid泛型方法的第二个参数使 用的。在这个版本中,Gird泛型方</strong><br><strong>法只有一个参数,但是有参数有两种 类型,1:ViewData中Key的名字的字符串。2、IEnumerable<>类型的数据 源  

      MvcContrib的用法还不止这些。他还包括对Form表单做一 些验证设置、做Route,还有就是扩展Controller的功能。总之,它<br>是一个很强大的开源控件。以后有些体会再做介绍。

  • 相关阅读:
    什么是守护线程?
    如何优雅地停止一个线程?
    如何创建、启动 Java 线程?
    什么是线程?什么是进程?为什么要有线程?有什么关系与区别?
    并行是什么意思?与并发的区别是什么?
    并发编程的缺点?
    BZOJ_3058_四叶草魔杖_kruscal+状压DP
    BZOJ_3476_[Usaco2014 Mar]The Lazy Cow_扫描线+切比雪夫距离
    BZOJ_1511_[POI2006]OKR-Periods of Words_KMP
    BZOJ_3479_[Usaco2014 Mar]Watering the Fields_Prim
  • 原文地址:https://www.cnblogs.com/tyb1222/p/2115530.html
Copyright © 2011-2022 走看看