代码之家  ›  专栏  ›  技术社区  ›  ruslander

将ASP.NET MVC从beta升级到1.0版

  •  2
  • ruslander  · 技术社区  · 16 年前

    a)目前我已经在ASP.MVC测试版上部署了一个应用程序…但几天前,由于以下错误,它拒绝工作:

    找不到方法:“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);
    
        }
    

    然后现在更新模型(map,“/accepts ivalueprovider or defaultvalueprovider/”);

    问题:

    1. 这里发生了什么变化?(我想hostng环境改变了一些事情)
    2. 我应该在这里调整什么,以避免破坏已经实现的功能?
    2 回复  |  直到 16 年前
        1
  •  3
  •   eu-ge-ne    16 年前
    UpdateModel(entity, entityform.ToValueProvider());
    
        2
  •  1
  •   David    16 年前

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

    b)我只是在实体中使用updateModel传递,如果您已将formCollection传递给actionResult,那么这将相应地更新它。

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