Я пытаюсь выполнить операцию CRUD в asp. net core MVC, Когда я пытаюсь вставить данные в сетку (Создать функцию), VS выдает мне ошибку, которая не может быть нулевой! Я думаю, что проблема в том, что пользовательский интерфейс не отправляет мои входные данные на SQL или другие вещи, которые я не знаю!
Это часть моего контроллера с оператором Create!
public ActionResult AddRegistry([DataSourceRequest]DataSourceRequest request,Registry registry)
{
var parameter = new DynamicParameters();
parameter.Add("@Reg_Name",registry.Reg_Name);
parameter.Add("@Country", registry.Country);
parameter.Add("@Reg_Date", registry.Reg_Date);
parameter.Add("@Reg_Disc", registry.Reg_Disc);
_unitOfWork.SP_Call.Execute(SD.usp_AddRegistry, parameter);
_unitOfWork.Save();
return (Json(request));
}
Это мой взгляд!
@(Html.Kendo().Grid<MSDACE.Models.DbDesign.Registry>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Reg_ID).Width(50);;
columns.Bound(p => p.Reg_Name).Width(180);
columns.Bound(p => p.Reg_Date).Width(180);
columns.Bound(p => p.Country).Width(180);
columns.Bound(p => p.Reg_Disc).Width(120);
columns.Command(command => command.Destroy()).Width(90);
})
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Save();
})
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Navigatable()
.Sortable()
.Groupable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.PageSize(20)
.ServerOperation(false)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.Reg_ID);
model.Field(p => p.Reg_ID).Editable(false);
})
.Create("AddRegistry", "Test")
.Read("GetAllRegistry", "Test")
)
.Resizable(resize => resize.Columns(true))
)
также SP -
ALTER Procedure [dbo].[usp_AddRegistry]
--@Reg_ID int,
@Reg_Name nvarchar(max),
@Country nvarchar(max),
--@Reg_Date datetime2(7),
@Reg_Disc nvarchar(max)
as
begin
insert into dbo.Registry (
--Reg_ID,
Reg_Name,
Country,
Reg_Date,
Reg_Disc)
values (
--@Reg_ID,
@Reg_Name,
@Country,
GETDATE(),
@Reg_Disc)
end