В конечном итоге я сам нашел решение.Следуя примеру в ссылке, которую я сделал в исходном сообщении, я сделал следующее: во-первых, когда создается новый «заказ», я проверяю, что у модели, возвращенной в методе «Создать» в OrdersDataController, есть идентификатор, когдаМодель добавлена в БД.Поэтому, когда эта часть выполняется в "_OrdersCreate.cshtml":
@if (Model != null && ViewData.ModelState.IsValid)
{
<script>
closeCreatePopup();
</script>
}
, я отправляю информацию о новом созданном Заказе.Поэтому для этого я изменил «closeCreatePopup ()» для обработки аргументов.Поэтому для получения законченных результатов я просто буду использовать фрагмент кода из моего собственного проекта, ниже приведена моя реализация метода closeCreatePopup ():
function closeCreateEmployeeWindow(name, rHPersonID, personID, organizationID) {
if (name !== undefined
&& rHPersonID !== undefined
&& personID !== undefined
&& organizationID !== undefined) {
var grid = $("#grid").data("kendoGrid");
grid.dataSource.insert({ Name: name, RHPersonID: rHPersonID, PersonID: personID, OrganizationID: organizationID });
grid.dataSource.sync();
}
var wnd = $("#createEmployeeModal").data("kendoWindow");
wnd.refresh({ url: '@Url.Action("CreateEmployee", "Employee", new { Area = "Administration" })' });
wnd.close();
}
Важная часть такова:
var grid = $("#grid").data("kendoGrid");
grid.dataSource.insert({ Name: name, RHPersonID: rHPersonID, PersonID: personID, OrganizationID: organizationID });
grid.dataSource.sync();
Что здесь происходит, я использую метод "insert" из сетки и добавляю новый объект.«Вставить» вставляет новый объект в самый верх сетки.Не забудьте вызывать метод «sync» сразу после.
Делая это таким образом, нормальный метод «create», встроенный в сетку, реплицируется.