2009-05-23 131 views
2

一)目前,我对生活的asp.mvc测试部署的应用程序...但前几天拒绝与以下错误的工作:从Beta升级asp.net MVC到Release 1.0

方法找不到:'System.String System.Web.Mvc.Html.LinkExtensions.RouteLink(System.Web.Mvc.HtmlHelper,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteValueDictionary)'。

版本信息:Microsoft .NET Framework版本:2.0.50727.3053; ASP.NET版本:2.0.50727.3053

googed结果并没有给我相关的事情:(

B)我的下一步是升级应用ASP.NET MVC 1.0 ...但在这里我有一个新的问题:如果 在测试我有:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Edit(FormCollection entityform) 
    { 
     var entity = repository.GetById(1); 

     UpdateModel(entity, entityform); 
     repository.Update(entity); 

     return View("Index", entity); 

    } 

那么现在的UpdateModel(地图, “/接受IValueProvider或DefaultValueProvider /”);

问题:

  1. 什么改变了这里? (我想主机环境已经改变了一些东西)
  2. 我应该在这里调整一下不打破已经实现的功能吗?

回答

3
UpdateModel(entity, entityform.ToValueProvider()); 
1

一)当我升级我的web项目中,我注意到,什么是包含在web.configs是不同的。注意有两个web.configs,都在主项目目录和Views中。我会建议创建一个新的MVC 1.0项目,并将web.configs与您的测试版进行比较。

b)我只是使用传递给实体的UpdateModel,如果你已经将FormCollection传递给了你的ActionResult,它会相应地更新它。

 
public ActionResult Edit(FormCollection entityform) 
{ 
    var entity = repository.GetById(1); 
    UpdateModel(entity);