[英]Different title and update button name for Add and Edit popup in Kendo UI Grid (Telerik 2018)
问题1:由于“添加新记录”和“编辑”弹出标题是相同的“编辑”(Telerik演示网址: https : //demos.telerik.com/aspnet-mvc/grid/editing-popup ),请尝试使用以下代码更改标题。
$(".k-grid-edit").on("click", function () {
$(".k-window-title").text("Edit");
$(".k-grid-update").text("Update");
console.log("Edit");
});
$(".k-grid-add").on("click", function () {
$(".k-window-title").text("Create");
$(".k-grid-update").text("Save");
console.log("New");
});
控制台会记录相应的文本,但不会更新标题和“更新”按钮的文本。
Q2:添加和编辑调用Web API。 即使调用成功,也会显示弹出窗口,并且不会重新加载网格。
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(ConfigurationManager.AppSettings["KpiApiUrl"]);
var postTask = client.PostAsJsonAsync("users", userAccess);
postTask.Wait();
var result = postTask.Result;
if (result.IsSuccessStatusCode)
{
var readTask = result.Content.ReadAsStringAsync();
readTask.Wait();
if (readTask.Result.Trim('"').Equals("Success"))
{
RouteValueDictionary routeValues = this.GridRouteValues();
return RedirectToAction("GetUsers", routeValues);
}
}
return View("GetUsers", LoadUser());
}
请给我建议。
Version Info Telerik 2018.1.221.545 MVC 5.2 .NET 4.6
最简单的方法是绑定到网格的编辑事件,这将使您轻松更改标题。
我提供了一个dojo,向您展示如何执行此操作。 https://dojo.telerik.com/anoceSux
我只是访问了正在编辑的项目的“模型”,如果认为它是新项目,则更改标题以创建,否则我们知道它已经存在,因此只需在标题中输入产品名称即可。
至于您的API并未使用新数据重新加载网格,这是因为您是从其外观返回view
,而不是网格正在以DataRequestResult对象的形式或通过映射查找的预期JSON
对象返回的view
您的数据。 假设您正在将DataSourceRequest对象发送/绑定到API控制器,那么您应该返回以下内容:
public JsonResult SomeAction([DataSourceRequest] DataSourceRequest request, T Model){
..do some things here.......
return Json(model.ToDataSourceResult(request, ModelState));
}
其中T
是您要更新/创建的项目的模型
如果缺少任何内容或需要扩展,请告诉我,我将相应地更新答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.