数据不会在浏览器中刷新,但会在数据库中刷新

时间:2014-10-21 16:35:49

标签: asp.net-mvc asp.net-mvc-4

我有一个工作提交按钮,所以当我对表单进行更改并单击提交表单更新时... ...

但是。在数据库中,它显示了新数据。但是当我将RedirectToAction重定向到最后一页时,它并没有显示更新的数据。

这是我的代码(Controller):

[HttpPost]
public ActionResult Save(M2Portal.Areas.Admin.Models.Users.Roles roleForm)
{
    try
    {
        if (ModelState.IsValid)
        {
            var role = Srvctx.Roles.FirstOrDefault(w => w.RoleID == roleForm.RoleId);
            role.RoleDescription = roleForm.RoleDescription;
            Srvctx.SubmitChanges();
            return RedirectToAction("RoleManagement");
        }
        return RedirectToAction("RoleManagement");
    }
    catch
    {
        return RedirectToAction("RoleManagement");
    }
}

所以当它命中时:

                     return RedirectToAction("RoleManagement");

它只是转到页面但不刷新数据。但是当我看到我的数据库时,它已经被改变了。

是ASP.NET MVC的新手,不知道从哪里开始寻找......

有什么想法吗?

角色管理:

  public ActionResult RoleManagement(string userName)
    {

        return View("RoleManagement", new UserForm(userName));
    }

Rolemangement cshtml:

   @foreach (M2DAL.M2Service.Role r in Model.AllRoleIDs)
{
    <tr>
        <td>@r.RoleName</td> //This is not refreshing, on debug shows the number, but browser shows old number)
        <td>@r.RoleID</td>
        <td>@Html.ActionLink("Edit Roles", "EditRole", "Users", new { roleId = r.RoleID }, new { @class = "action" }) </td>
    </tr>
}

1 个答案:

答案 0 :(得分:1)

您没有发布RoleManagement操作的代码。我不知道你在哪里存储你的模型,但你确定,这个动作是在再次读取数据库吗?

应该有类似的东西(只是一个例子)

[HttpGet]
public ActionResult RoleManagement()
{
    var roles = Srvctx.Roles.Take(1000);
    return roles;
}