首页 新闻 赞助 找找看

请教个基础问题,MVC Route中的一语句

0
悬赏园豆:50 [已解决问题] 解决于 2008-03-21 09:21
<P>routes.Add(new Route("{action}/{id}", new MvcRouteHandler())<BR>{<BR>&nbsp;&nbsp;&nbsp; Defaults = new RouteValueDictionary(new { controller = "", action = "", id = "" }),<BR>&nbsp;&nbsp;&nbsp; <FONT color=#ff0000>Constraints = new RouteValueDictionary { { "id", @"\d+" } }</FONT><BR>});</P> <P>这是在Global中定义一个URL规则,相信已经有许多人用过,标红的这句是添加一个id为数字时才匹配的约束,我的问题是 <FONT color=#000000>new RouteValueDictionary { { "id", @"\d+" } } 这句是啥语法 new Class{ {"", ""}&nbsp;}这两对花括号是什么意思,里面的那对是一个匿名类吗?<BR>这是RouteValueDictionary的构造方法:<BR>public RouteValueDictionary();<BR>public RouteValueDictionary(IDictionary&lt;string, object&gt; dictionary);<BR>public RouteValueDictionary(object values);<BR>protected RouteValueDictionary(SerializationInfo info, StreamingContext context);<BR></FONT></P>
PENGHAO-X的主页 PENGHAO-X | 初学一级 | 园豆:20
提问于:2008-03-20 16:48
< >
分享
最佳答案
0
new TypeName { { key1, value1}, {key2, value2}, {key3, value3} } 这个是C# 3.0里带来的新语法,用于对实现了IDictionary接口的类型进行构造和添加初始数据. TypeName 必须实现了IDictionary接口.
deerchao | 大侠五级 |园豆:8367 | 2008-03-20 21:41
其他回答(1)
0
这是3.5的新语法啊。楼主需要补补基础。 这是实例化了RouteValueDictionary类,并且直接给里面的属性赋值了。 值就是参数是id,规则是数字。\d+是正则表达式。
第一控制.NET | 园豆:1245 (小虾三级) | 2008-03-20 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册