MonoRail MVC应用-调试

挖宝式的收获。这应该是官方DEMO中的一段代码。后来发现在调试代码的时候有帮助,就整理出来。
因为当整合页面时,有时候前端不知道后端到底传了一些什么参数。有可能无法正常显示是因为参数名称不对!这样有了这个调试的输出页面就会方便很多。
Continue reading

MonoRail MVC应用-DataSet的使用

DataSet,虽然我们都在尽量提倡使用实体。但DataSet就目前来说,用asp.net进行开发很难逃脱这个概念。说实话它还是有其方便性,而且我也一直认为它是MS在应用层上的一个重要抽象,有其价值意义。因为官方没有提到如何使用DataSet,所以特意作为一篇来写。既然逃不掉,就一定要找到使用DataSet的方法。看完后有没有觉的奇怪,和IList用法是一样的。很好很强大!
Continue reading

MonoRail MVC应用-翻页如何使用

看了MonoRail自带的翻页。我觉的这个根本没办法满足快速开发的要求,如果按官方的这种拼接方式,开发很不方便的。而且官方提供的是上一页,下一页的方式,对数字翻页的支持方式很不好。
看到firstyi通过判断lastindex来循环实现数字翻页,但如果我有100页呢,这是没办法实现的。所以最后决定自己写MonoRail下的PageHelper类来完成。原理就是直接拼接完成分页输出。
Continue reading

MonoRail MVC应用-错误处理机制

可能每一个人对错误处理的理解都不一样,或者说这是一种异常处理的机制。Rescue是MonoRail中处理异常的一种机制。可以将其标注在类、方法上。这样当方法中有错误出现时,将通过Rescue中定义的.vm页面来显示错误。疑惑的也在这里。Rescue定义的.vm又是没有后代码的。如果要发送信息到Email如何处理?定义一个Helper类!那还是简单到通过一个HttpModule的方式来实现。
目前认为没必要使用Rescue方式来处理Web上的异常,仅将使用的方法记录下来。

BaseController中定义了Rescue,这样所有的controller发生意外错误就可以捕获到了
Continue reading

数组中出现次数最多的数[有问题,请暂时不要用]

七七同志的一个需求,当然产品是不会有这样说法的。我只是整理出来,就变成“求数组中出现次数最多的数”。这东西不是在数据库,没有GroupBy可用。发现Linq中有GroupBy,但要自己实现,作罢!估计性能也就这样。如果只考虑实现,几个循环应该是可以。但这个要在访问频率高的页面使用,C#循环不可取。
Continue reading

MonoRail MVC的应用-WebControl控件(开发模式OR开发流程)

这个Title是根据我们平时在.NET的习惯使用来说的,但MonoRail MVC的名称是ViewComponent。
基本上这东西有两种语法支持
.VM

#component(OtherShop with "shopname=海底捞")

#blockcomponent(OtherShop1)
  • $shopname
  • #end

    一种是普通组件,一中是可以循环嵌套的组件。
    但最后实践的结果是,我怎么也没发现blockcomponent的优势。所以不具体写这个运用。如果要循环,我用#foreach发现灵活性更强。
    Continue reading

    2009技术部人品大爆发

    昨天公司年会,技术部人品大爆发。去年技术部无一人中奖,hoho 今年大丰收。还好我们没写中奖程序……

    • 德军兄=>一包花生,早生贵子,看来今年是桃花运
    • fuhua=>一根葱,搞笑版奖品,意义越来越聪明
    • 木子李=>飞利浦搅拌机
    • 酒精=>踏步机,(*^__^*)正好锻炼啦
    • wangdong=>MP4
    • 吴网络=>300卡,也不错了
    • 我中了大彩!索尼(SONY)DCR-SR220E数码摄像机(60G硬盘)

    Continue reading

    String.Format新方法

    挺有意思的一个扩展方法,分享给大家(原作者链接在最后)
    一般情况我们都习惯了这样写
    String.Format(“{0} last logged in at {1}”,”pumaboyd”,”2009-1-1″)
    这东西本身是没什么问题,但当 {0}, {1}, {2} 多了,你根本就不知道具体对应关系是什么。
    如果能这样就比较好了
    String.Format(“{UserName} last logged in at {LoginDate}”,”pumaboyd”,”2009-1-1″)
    通过名词来标识,而不是{0}.这个需求是可以满足的,通过扩展方法就可以实现:
    Continue reading

    MonRail MVC应用-自定义VM方法

    先说这个概念是这么来的,其实它和前面提到的FormHelper、HtmlHelper一样。只不过前者是输出特定的标签,而现在说的是输出一些特定的数据。比如对时间格式化,输出用户自定的链接等。
    在Castle.MonoRail.Framework.Helpers 命名空间下你能找到很多这样的类
    Continue reading