1.0

2009-05-23 8 views
2

a)は現時点では私はasp.mvcベータのライブの展開のアプリを持っている...しかし、数日前には、次のエラーで動作することを拒否: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結果は私の次のステップは1.0 MVC ASP.NETするアプリケーションをアップグレードすることでした)私に関連する何か:(

Bを与えるものではありません...しかし、ここで私が持っています新しい問題:私が持っていたベータ版で 場合:今、その後

[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. ここで調整しなければならないことは、すでに機能を実装していますか?私は私のWebプロジェクトをアップグレードする場合

答えて

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

A)私はweb.configsに含まれているもの異なっていることに気づきました。メインのプロジェクトディレクトリとビューの両方に2つのweb.configがあることに注目してください。新しいMVC 1.0プロジェクトを作成し、web.configsとベータ版を比較することをお勧めします。

b)エンティティで渡すUpdateModelを使用しています。これは、FormCollectionをActionResultに渡した場合にのみ更新されます。

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