asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET MVC Preview3 bug 及期望 [集][1]


发布日期:2022年10月26日
 
ASP.NET MVC Preview3 bug 及期望 [集][1]

ASPNET MVC Preview刚出来就发bug不是想泼冷水而是一贯的为了和大家一起更好地讨论学习使用大家一起进步

Pre和Pre的主要区别在Scott的Blog上面已经比较清楚地展示了并且官方也提供了了一个升级文档http://weblogsaspnet/scottgu/archive////aspnetmvcpreviewreleaseaspx

今天大概看了几个关键的地方目前发现了在ActionURL这个用法上面没有太大变化的地方但是在获取上面反而有点小问题

比如当你试图在AdminController(对应的View)里面输出UrlAction(Foo)的时候理想情况下应该是返回/Admin[mvc]/Foo但是不幸的事情发生了当你在HomeController里面添加一个Foo的Action并且在globalasaxcs里面添加了一条Home/Foo的URL规则之后(不添加不会有问题)你再用UrlAction(Foo)的时候返回的将有可能是这样/Home[mvc]/Foo所以为了保证持久的可用性在这种情况下我们必须放弃UrlAction(Foo)这种方式转而使用这样的重写方法UrlAction(FooAdmin)不光是UrlAction是这样HtmlActionLink也存在着同样的问题我反复在IIS/VS以及routesMapRoute/routesAdd方式进行了测试结果都是一样的这点是很恶心的不知道是我这里环境的问题还是大家的测试结果也这样?欢迎大家反馈!

此bug实例下载http://filescnblogscom/szw/ASPNET_MVC_Preview__Routing_bugrar

关键测试代码

Globalasaxcs

routesMapRoute(

About // Route name

Home/About // URL with parameters

new { controller = Home action = About } // Parameter defaults

);

/Views/Admin/Indexaspx

理想情况

UrlAction(About)应该和UrlAction(AboutAdmin)输出一样<%= UrlAction(AboutAdmin) %><br />

实际UrlAction(About)输出<%= UrlAction(About) %>

输出结果

理想情况UrlAction(About)应该和UrlAction(AboutAdmin)输出一样/Admin/About

实际UrlAction(About)输出: /Home/About

另外在这里总结一下之前个Preview版本的已发现的bug(或者不足之处)的现状

这些问题我依次发表在了使用微软ASPNET MVC Framework的一些感受 + 收集园子朋友发现的bug反馈 使用微软ASPNET MVC Framework的一些感受 + 收集园子朋友发现的bug反馈 【补充】 和MVC Toolkit 部分已发现bug的根治方案 Part()

第一篇说到的一些问题目前还是多多少少存在但这并不能说明都是MVC本身的问题有些是NET的一些特性——比如Linq to SQL——在使用和配合上的一些问题

第一篇第二篇中提到的HtmlHelper中的很多扩展方法很乱的问题这次在Preview中是快刀斩乱麻所有的sizemaxLength之类的属性都放到了htmlAttributs属性中倒也清爽升级和使用的时候要多加注意了

第三篇MVC Toolkit 部分已发现bug的根治方案 Part() 中谈到的问题在Preview貌似已经完美解决了

[] []

               

上一篇:ASP.NET MVC Preview3 bug 及期望 [集][2]

下一篇:ASP.NET入门教程 14.1.1 对象处理[3]