zoukankan      html  css  js  c++  java
  • MVC自我学起之MVCMusic开发中遇到问题:musicstore edit方法出错的原因和解决方法

    错误提示:

    存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。

    解决案:

    1.在view中或model中增加隐藏id 

    1.1 修改model

    [HiddenInput()]
    public int AlbumId { get; set; }

    1.2在视图中增加:(一般 若是用自动新建的curd中会自带)

    @Html.HiddenFor(model => model.AlbumId)

    2.得到id也有两种方法一种是修改model另一种根据id得到实体后修改edit方法; 如下所示:

    2.1修改model

    去掉[Bind(Exclude = "AlbumId")]

    2.2修改edit方法:

    [HttpPost]
    public ActionResult Edit(int albumid, FormCollection formData)
    {
    var album = db.Albums.Find(albumid);
    if (ModelState.IsValid)
    {
    UpdateModel<Album>(album, formData);
    db.SaveChanges();
    return RedirectToAction("Index");
    }
    ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
    ViewBag.ArtistId = new SelectList(db.Artist, "ArtistId", "Name", album.ArtistId);
    return View(album);
    }

    此解决方案出处:http://www.cnblogs.com/wusong/archive/2013/03/13/2958180.html

  • 相关阅读:
    python day1
    Vue与react的择决
    CommonJS规范
    js面向对象的程序设计
    正则匹配所有的a标签
    js-静态、原型、实例属性
    js中参数不对应问题
    sublime常用快捷键
    JSON.parse()和JSON.stringify()
    setAttribute()
  • 原文地址:https://www.cnblogs.com/Strive-fighting/p/3876748.html
Copyright © 2011-2022 走看看