这个词很早以前就听说过,但是真正有点了解则是从近期看的《明朝的那些事儿》开始。知行合一,用时髦一点的语言不就是理论联系实际嘛,但,知易行难,实践永远比理论困难。王守仁的这四个字,要真的做到,庶几圣人矣。
有一段时间我很迷惑,如何评价一个历史人物的好坏?对历史人物的褒贬似乎与功过不相对称。后来,当我更成熟、客观、理性之时,才发现这些论断很多时候是以道德标准来评断是非,而非以功业过错。
有的人做的事于人民有益,但从个人观念品德来说怎么都算不上传统意义上的好人,比如吕后,听完王立群讲的吕后之后,对她有所改观。王立群说她人性缺失是对的,她对戚姬和刘姓子弟所做的事真可说得上丧尽天良,但于人民,她废暴法,用能人,对当时社会生产力和人民可说是德政,而后世却以残暴著名。还有王立群提出的一个有意思的观点,为什么众人只记下她的残暴而忘记她的德政?因为人民大众很容易只记得对某个人,某件事做错而忘记对大多数所做的好事,施惠于一人比普惠于苍生更容易被传诵。比如张居正,他执政期间,政策法令令明朝短暂复兴,但他为了达到目的所做的跟擅权祸国的奸臣有什么不同?道学家批评他,没错,部分历史学家称赞他,也没错!
有的人自律很严,甚至不惜为国舍生,可对于历史和人民实无建树,只在道德方面多一例子,比如文天祥,很久以前就想,如果他降了元是不是对元朝的国家、民族政策有所帮助,对当时的社会是否有促进?比如海瑞,极端自律,也可算是知与行在表面合一,但因他坚持的理念与现实严重脱节,又饱受排挤,实事没办成。还有我很佩服景仰的岳飞,如果当年他肯违抗十二道金牌的急召,坚持“将在外,君命有所不受”,是否就能实现理想,迎回徽钦二宗?是否就能振兴南宋?但依徽钦二宗此前的表现,回来也不过多两个胆小鬼,北伐多两股阻力。
多少中国的传统哲学评价人物一贯对人品的要求非常严格,甚至可以说是以圣人的标准来要求,但是,无论伟人也好,奸人也罢,更多的是平凡人,都难免会有被本性中的自私、贪婪、狡诈蒙蔽的时候,儒家哲学以崇古复礼为立身之本,以后天的修、格克服先天的劣根,让每个人以当圣人自勉,偏偏这样压抑人性的思想统治了中国二千多年,经过无数人对内涵外延的引伸,越到后来越僵化,这吃人不吐骨头的礼教扼杀了无数人,也成就了无数道德楷模,那些不满足于儒家道德规则而对社会国家有益的人则被不断地批评、指责。
诚然,正是由于这些道德楷模至今让我们为之骄傲、为之佩服景仰崇拜,他们做到了所知与所行的统一,但那些被道德标准不齿的人也应该被承认他们的贡献,某些,甚至可以说是知行合一的另一表现形式。人性是复杂的,绝不能用单一的标准去衡量。
道德可以做自我约束的标准,也可以是舆论导向,社会意识,但绝不应是压抑人性的工具!所以我很反感宋明理学,一来不符合人性,二来以小部分的标准去要求所有人,除了“己所不欲,勿施于人”外,还应该“己之所欲,毋适于人”,不是每个人都能自律,不是每个人都可以成为圣人。理想的社会状态应该是依个人选择自己走的路,想做圣人的可能跋涉于成圣成贤的道路,不想做圣人也可以过自己的生活而不需被指责。";
---------------如上的长文章,我想按长度把以上分成几段,我的简单逻辑如下        if (articleLength % pageSize == 0)
                {
                    totalPage = articleLength / pageSize;
                }
                else
                {
                    totalPage = articleLength / pageSize + 1;
                }              pageContent.Substring(pageSize * (i - 1), pageSize))
===============
 但是这里面涉及到,强行分拆的问题,把完成的一句话给强拆了 如何在按长度的同时,根据符号拆分呢 例如根据pageSize 200和,来拆分

解决方案 »

  1.   

    恐怕你那样很难弄,你需要考虑到html,不能将html截开等等。
    通常我的做法是在录入这些文章的时候,在文章内容中加一个个的分页标签,如标签为:<--分页-->
    然后在取出的时候Split <--分页-->,将文章内容作为一个数组进行分页。
      

  2.   

    网页上文章都是有段落和换行的比如<p>或<br>,可以根据这些标志拆分
      

  3.   


     我只是想实现这个算法,嘿,变通的方法我想到很多,但是我还是想实现如何在按长度的同时,根据符号拆分呢 例如根据pageSize 200和,来拆分 
      

  4.   

    难啊,还根据符号,按长度简单点
     public string OutputBySize(string p_strContent)//分页函数 
        { 
            string m_strRet = ""; 
            int m_intPageSize = 6000;//文章每页大小 
            int m_intCurrentPage = 1;//设置第一页为初始页 
            int m_intTotalPage = 0;
            int m_intArticlelength = p_strContent.Length;//NoHTML(p_strContent).Length;//文章长度 
            if (m_intPageSize < m_intArticlelength) 
            {//如果每页大小大于文章长度时就不用分页了 
                if (m_intArticlelength % m_intPageSize == 0) 
                {//set total pages count 
                    m_intTotalPage = m_intArticlelength / m_intPageSize; 
                } 
                else 
                {//if the totalsize 
                    m_intTotalPage = m_intArticlelength / m_intPageSize + 1; 
                } 
                if (Request.QueryString["pages"] != null) 
                {//set Current page number 
                    try 
                    {//处理不正常的地址栏的值 
                        m_intCurrentPage = Convert.ToInt32(Request.QueryString["pages"]); 
                        if (m_intCurrentPage > m_intTotalPage) 
                      
                            m_intCurrentPage = m_intTotalPage; 
                      
                    }                 catch 
                    { 
                        //m_intCurrentPage = m_intCurrentPage; 
                    } 
                } 
                //set the page content 设置获取当前页的大小 
                if (m_intCurrentPage < m_intTotalPage) 
                { 
                    m_intPageSize = m_intCurrentPage < m_intTotalPage ? m_intPageSize : (m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1)); 
                    m_strRet += p_strContent.Substring(m_intPageSize * (m_intCurrentPage - 1), m_intPageSize); 
                } 
                else if(m_intCurrentPage == m_intTotalPage ) 
                { 
                    int mm_intPageSize=m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1); 
                    m_strRet += p_strContent.Substring(m_intArticlelength - mm_intPageSize); 
                } 
            
                string m_strPageInfo = " <p> </p>"; 
                for (int i = 1; i <= m_intTotalPage; i++) 
                { 
                    if (i == m_intCurrentPage) 
                        m_strPageInfo += "第" + i + "页 | "; 
                    else
                        m_strPageInfo += " <a href=?log_id=" + Logid + "&&pages=" + i + ">" + i + " </a>|";
                } 
                //输出显示各个页码 
                this.labPageNumber.Text = m_strPageInfo;         } 
            else 
            { 
                m_strRet += p_strContent; 
            } 
            return m_strRet; 
        }
      

  5.   

    长文章分页,是否以设计成为一对多的方案.
    添加时,用户在添加时,就应分几次添加.这样子,就好做分页.
    Insus.NET在几个网站应用这样的方案.客户是可以接受的.
      

  6.   

    http://blog.163.com/xi_zh_qi/blog/static/850159420088175330771/
      

  7.   

    按标记生成静态页吧类似于我做的http://ts.zgfj.cn
      

  8.   

    对内容分页最好的还是,手都写入指定分页标记。在读入的时候分割,这样子就不会把html标签分割了。
    但是如过文章是从word里边复制过来的话,就有问题。。
      

  9.   

            public static string[] filesplit(string contents)
            {
                int fileindex = 0;
                string[] splitfile = new string[10];            while (contents.Length > 200 && fileindex < 9)
                {
                    if (contents.IndexOf(",", 10) < 0) break;                splitfile[fileindex] = contents.Substring(0, contents.IndexOf(",", 200))
                    contents = contents.Remove(0, splitfile[fileindex].Length);
                    fileindex++;
                }
                splitfile[fileindex] = contents;
                return splitfile;
            }
      

  10.   

            public static List<string> filesplit(string contents)
            {
                int fileindex = 0;            List<string> list = new List<string>();            while (contents.Length > 200)
                {
                    if (contents.IndexOf(",", 200) < 0) break;               
                    list.Add(contents.Substring(0, contents.IndexOf(",", 200)));
                    contents = contents.Remove(0, list[fileindex].Length);
                    fileindex++;
                }            list.Add(contents);            return list;
            }
     简化了下,感觉用泛型还是最好