2

a)目前我在 asp.mvc beta 上实时部署了一个应用程序......但几天前它拒绝使用以下错误:

找不到方法:'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

搜索结果并没有给我相关的东西:(

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(map, "/ 接受 IValueProvider 或 DefaultValueProvider /");

问题:

  1. 这里发生了什么变化?(我想hostng环境已经改变了一些东西)
  2. 我应该在这里调整什么以不破坏已经实现的功能?
4

2 回答 2

3
UpdateModel(entity, entityform.ToValueProvider());
于 2009-05-23T10:28:13.543 回答
1

a) 当我升级我的 web 项目时,我注意到 web.configs 中包含的内容不同。请注意,在主项目目录和视图中都有 2 个 web.config。我建议创建一个新的 MVC 1.0 项目并将 web.configs 与您的 beta 版本进行比较。

b)我只是使用 UpdateModel 传入实体,如果您已将 FormCollection 传递给 ActionResult,这将相应地更新它。

public ActionResult Edit(FormCollection entityform)
{
    var entity = repository.GetById(1);
    更新模型(实体);
于 2009-05-23T13:21:55.983 回答