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 ,这样才能减少运算次数。