【问题标题】:Kendo Grid duplication message剑道网格重复消息
【发布时间】:2018-05-07 05:35:18
【问题描述】:

我正在使用剑道网格,并且我已停止网格在创建方法中保存重复值,如下所示:

var results = new List<ProviderTypeMasterViewModel>();
        try
        {
            _logger.LogInformation("ProviderTypeMastersController ProviderType_Create Start");
            foreach (var ProviderTypeMaster in ProviderTypeMasterList)
            {
                TblProviderTypeMaster ptm = new ProviderTypeMasterViewModel().ToModel(ProviderTypeMaster);
                var provd = _context.TblProviderTypeMasters.Where(p => p.ProviderTypeName == ProviderTypeMaster.ProviderTypeName).ToList();
                if (provd != null && provd.Count() == 0)
                {
                    if (ProviderTypeMasterList != null && ModelState.IsValid)
                    {
                        string userID = GetUserID();
                        providerTypeMasterService.SaveProviderTypeMaster(ProviderTypeMaster, userID);
                    }
                }
                else
                {
                    duplicate = true;
                    //Session["ErrMsg"] = "Already Exists";
                    //return RedirectToAction("ProviderType_Read", "ProviderTypeMasters");
                }
            }

            _logger.LogInformation("ProviderTypeMastersController ProviderType_Create Complete");
        }
        catch (Exception e)
        {
            _logger.LogError("ProviderTypeMastersController ProviderType_Create Failed - " + e.Message);
        }
        return Json(results.ToDataSourceResult(request, ModelState));

在读取方法中,我向用户显示了如下错误消息

try
        {
            if (duplicate == true)
            {
                TempData["ErroMsg"] = "Already Exists";
            }
            _logger.LogInformation("In ProviderTypeMastersController ProviderType_Read");
            return Json(providerTypeMasterService.ListProviderTypeMaster().ToDataSourceResult(request));
        }
        catch (Exception e)
        {
            _logger.LogError("ProviderTypeMastersController ProviderType_Read Failed - " + e.Message);
        }
        return View();

复制过程已停止。但我无法向用户显示错误消息。任何人都可以让我知道我出错的地方应该怎么做。我尝试过使用 ViewBag、ViewData、TempData。

这是我的观点

<div>
if (TempData["ErroMsg"] != null)
{
    <p>@TempData["ErroMsg"].ToString()</p>
}

【问题讨论】:

  • 您的方法返回 Json - 您需要在 JsonResult 中包含错误消息,然后在 ajax 成功回调中将其添加到 DOM(TempData 用于从当您进行重定向时,一个控制器方法到另一个控制器方法)
  • 您能否给我一个样品,因为我是新手?提前致谢
  • 我不能 - 你还没有显示你的 ajax 调用开始
  • 这里没有使用任何ajax。刚刚在我的剑道网格中使用了这个
  • .Create(create => create.Action("ProviderType_Create", "ProviderTypeMasters"))

标签: c# asp.net-mvc kendo-ui kendo-grid


【解决方案1】:

您可以使用剑道网格的 DataBinding() 和 DataBound() 函数...这些函数在服务器端的 Read 方法之后在客户端调用..例如您可以使用此字段设置字段和决策

【讨论】:

    猜你喜欢
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多