0

在我的 asp.net mvc 项目中,表格数据将使用索引方法显示在网格视图上。执行插入后,它将使用 RedirectToAction 重定向到索引。但是第一次,新行被添加到网格中。第二次尝试时,无法插入。但是,如果我再次使用浏览器重新加载重新加载页面,则第一次只发生插入。请帮我解决这个问题。

当我尝试调试时,发生“自上一步以来过程已更改”。因此,第一次调试期间的值也将在第二次插入时中断操作。请给出解决方案..

public ActionResult Index()
    {
        X_DEVEntities Entity = new X_DEVEntities();
        var outPut=Entity.Model.ToList();
        return View(outPut);
    }

    public ActionResult Insert(Model modelData)
    {
        X_DEVEntities Entity = new X_DEVEntities();
        modelData.create_user_id = "ty";
        modelData.last_mod_dtm = DateTime.Now;
        modelData.last_mod_user_id = "gdf";            
        Entity.Model.Add(modelData);            
        Entity.SaveChanges();
        return RedirectToAction("Index");           

    }
4

1 回答 1

2

在第二次插入时,您会收到错误,因为在每次插入时,您将拥有相同的内容create_user_id,并且last_mod_user_id基于您发布的 Insert 方法。我猜它应该是这样的

public ActionResult Insert(Model modelData)
    {
        X_DEVEntities Entity = new X_DEVEntities();//try not to do this in your Insert method, rather have a constructer where you place this instantiation.
        Entity.yourTableName.UserId=modelData.create_user_id;//(UserId should be the field where you want to place the username you get from the view)
        modelData.last_mod_dtm = DateTime.Now;
        Entity.yourTableName.LastModUserId=modelData.last_mod_user_id;//again LastModUserId is the field where you want to save your modelData.last_mod_user_id in table.       
        Entity.Model.Add(modelData);            
        Entity.SaveChanges();
        return RedirectToAction("Index");           

    }
于 2013-06-21T10:46:28.877 回答