c# – 无法识别为刷新指定的对象

我有这样的更新功能

public void Update(HomeBanner homebanner)
    {
        homebanner.EnsureValid();
        DataSource.DataContext.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues,homebanner);
        DataSource.DataContext.SubmitChanges();
    }

我写了一个更新控制器

[AcceptVerbs(HttpVerbs.Post)]
    //[ValidateAntiForgeryToken]
    [ValidateInput(false)]
    public ActionResult ManageImages(int ? id,FormCollection form)
    {
        HomeBanner homebanner= BannerRepository.RetrieveById(id);
        this.TryUpdateModel(homebanner);
        string photoName = saveImage("photo");
        if (photoName != string.Empty)
        homebanner.ImageID = photoName;
        BannerRepository.Update(homebanner);
        return RedirectToAction("list","Admin");

    }

然后是观点:

<% using (Html.BeginForm("ManageImages","Admin",FormMethod.Post,new { enctype = "multipart/form-data" }))
   {%>
<h3>Manage Images</h3>
         <div class="label-field">
        <label for="ID">Chọn vị trí:</label>
         <%= Html.DropDownList("ID",DataHelper.Banner().ToList().ToSelectList("value","name",Model.HomeBanner.ID.ToString()))%>
         </div>
        <div class="label-field">
        <label for="photo">
            Chọn hình</label>
        <input type="file" name="photo" value=""/>
        </div>
        <div class="label-field">
        <label for="Link">
            Liên kết</label>
        <input type="text" name="Link"/>
        </div>
        <p>
            <input type="submit" value="Lưu" />
        </p>
<% } %>

它也获取数据,但更新步骤不成功:它标记在这里

DataSource.DataContext.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues,homebanner);

并抛出异常:无法识别为刷新指定的对象.
我不知道为什么,我在调试时看到数据填充到对象. Plz有人帮帮我!

解决方法

检查那里的DataContext实例,也许你正在使用不存在原始对象的不同实例.

如果它不存在,则必须先将对象附加到数据上下文,然后调用refresh.

附:提示:制作模型或服务以与数据交互,在控制器中它看起来很混乱;)’

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...