IDictionary<string,object>参数

在写视图的时候,常常会遇到参数是IDictionary<string,object> htmlAttributes和object htmlAttributes两种情况,我们一般都选用匿名类作为参数,因为代码更简洁。

如果该参数是

new {id="myid"}

那么IDictionary接口应该这么写:

new  Dictionary<string, object>{{"id","myid"}} //注意,里面有两个大括号

根据MVC的源码,使用匿名对象的参数最后会调用

HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes)

即匿名对象最后会被转化为实现 IDictionary字典接口的对象

如果要加一个data-mydata这样的属性,(比如在html5 中),也不用担心必须写成字典参数。由于不能直接写"-",那么就写成new{data_mydata="mydata"}即可,"-"会被自动转化成"_"

2)在写linq语句时,先写Where 再Select ,这样才能减少运算次数。

posted @ 2012-10-16 22:41  瓜王  阅读(3009)  评论(0编辑  收藏  举报