【发布时间】: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