微软提供的 MVCToolkit 大家 都编译通过 了吗?
MVCToolkit, 我从网上下来的,那个是ms 出的mvc 框架,我怎么编译有错误啊。
错误 1
找不到类型或命名空间名称“ChangeAction”(是否缺少 using 指令或程序集引用?)
E:\ODP.NET samples\文档\MVCToolkit\Blog\Models\ModelPartials.cs
还有好几个,大家帮我看看
------解决方案--------------------楼主你的编译不过是因为你机子上装的是:AspNetMVCPreview2-setup.msi(第二预览版) 而不是ASPNetExt.exe(里面包括MVC第一预览版)
即你下载的 MVCToolkit 只能配合 第一预览版使用(只有在装有 ASPNetExt.exe的VS2008中才能编译通过)
不过我自己也有一点郁闷,
在AspNetMVCPreview2 中 引用的System.Web.Extensions 是 3.5版的 而在MVCToolkit中引用的是3.6版的
也就是说低版本的MVC引用的 System.Web.Extensions 的版本反尔高 ,我晕,我把MVCToolkit用在第二预览版中死活不行。因为俺想用里面的 UpdateFrom 方法,我在第二预览版中没有找到类似的方法,不知道各位有没有好的方法。
-----------
在这里顺便问个问题,就是在第一预览版中,在控制器的Action方法中 可以用如下语句来跳转带ID等参数的URL
RedirectToAction(new { Action = "Category", id = product.CategoryID });
在第二预览版中反尔不能这样写了,不知道各位是如何来解决这个问题的。
------解决方案--------------------上面的答案已找到:
第一预览版写法:
RedirectToAction(new { Controller="Products",Action = "Category", id = product.CategoryID });
第二预览版写法:
System.Web.Routing.RouteValueDictionary rvd=new System.Web.Routing.RouteValueDictionary();
rvd.Add("Controller","Products");
rvd.Add("Action","Category");
rvd.Add("id",product.CategoryID);
RedirectToAction(rvd);
也可以简写成下面一句:
RedirectToAction(new RouteValueDictionary { {"Controller" ,"Products"},{"Action" ,"Category"} ,{"ID",product.CategoryID}});