从电网和数据库更新行与剑道UI和MVC [英] Update rows from grid and database with Kendo UI and MVC

查看:305
本文介绍了从电网和数据库更新行与剑道UI和MVC的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的 MVC项目的Visual Studio 2012和剑道UI 2014年。

我可以从电网更新行并将其更改,但后来,当我重新加载页面,显示该行的原始信息即可。我想为从数据库中更新过

I can update a row from the grid and it change, but then, when I reload the page, appear the row the original info. I would like to update from the database too.

这是我的code:

.cshtml(查看):

<div class="grid">
@(Html.Kendo().Grid<UsersModel>()
      .Name("grid")
          .Editable(editable => editable.Mode(GridEditMode.InCell))
          .DataSource(dataSource => dataSource
              .Ajax()
              .Model(r => r.Id(p => p.Id))
              .Read(r => r.Action("GetAccounts", "ManagerAccounts", new { area = "Admin" }))
              .Destroy("Delete", "ManagerAccounts")
              .Update("Update", "ManagerAccounts")
              .Create("Create", "ManagerAccounts")
           )

             .Columns(columns =>
      {
          columns.Bound(c => c.Id);
          columns.Bound(c => c.UserName);
          columns.Bound(c => c.Email);

          columns.Command(command => command.Destroy()).Width(120);
      })
                      .Pageable(pageable => pageable
                    .Refresh(true)
                    .PageSizes(true)
                    .ButtonCount(5))
    .Sortable()
    .Navigatable()
        .ToolBar(toolbar => {
        toolbar.Create();
        toolbar.Save();        
    })

)
    </div>

控制器:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Update([DataSourceRequest] DataSourceRequest request, IEnumerable<UsersModel> users)
{
    if (users != null && ModelState.IsValid)
    {
        foreach (var user in users)
        {
            AccountRepository.UpdateUsuarios(user);
        }
    }

    return Json(ModelState.ToDataSourceResult());
}

库(AccountRepository):

public void UpdateUsuarios(UsersModel user)
{
    var usuario = this.Context.Users.Where(l => l.Id == user.Id).FirstOrDefault();

    if (usuario != null)
    {
        usuario.Id = user.Id;
        usuario.UserName = user.UserName;
        usuario.Email = user.Email;
        this.Context.SaveChanges();
    }

}

我试着用: this.Context.SaveChanges(); ,但它不工作...

推荐答案

你能不能请尝试以下code。

could you please try below code.

    if (usuario != null)
          {
            usuario.Id = user.Id;
            usuario.UserName = user.UserName;
            usuario.Email = user.Email;
            this.Context.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
            this.Context.SaveChanges();// Or you may try await this.Context.SaveChangesAsync();
       }

这篇关于从电网和数据库更新行与剑道UI和MVC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆