Ошибка:
Словарь параметров содержит пустую запись для параметра 'categoryId' не допускающего значения NULL типа 'System.Int32' для метода 'System.Web. Mvc .ActionResult UpdateCategory ( Int32) 'в' OnlineStore.Controllers.AdminController '. Необязательный параметр должен быть ссылочным типом, типом, допускающим значение NULL, или быть объявленным как необязательный параметр. Название параметра: параметры.
Это код:
@model OnlineStore.Models.CategoryDetail
@{
ViewBag.Title = "UpdateCategory";
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
<div class="container-fluid">
<!-- Breadcrumbs-->
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="#">Dashboard</a>
</li>
<li class="breadcrumb-item ">Categories</li>
<li class="breadcrumb-item active">Add New Category</li>
</ol>
<!-- DataTables Example -->
<div class="card mb-3">
<div class="card-header">
<i class="fas fa-table"></i>
Add New Category
</div>
<div class="card-body">
@using (Html.BeginForm("UpdateCategory", "Admin", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.HiddenFor(m => m.CategoryId)
<div class="form-group">
<label class="control-label">Category Name</label>
@Html.TextBoxFor(m => m.CategoryName, new { @class = "form-control", placeholder = "Enter category Name", required = "required", autofocus = "autofocus" })
@Html.ValidationMessageFor(m => m.CategoryName, "", new { @class = "text-danger" })
</div>
<a onclick="window.history.back();" class="btn btn-danger">Cancel</a>
<input type="submit" class="btn btn-primary" value="Save" />
}
</div>
</div>
</div>
public ActionResult UpdateCategory(int categoryId)
{
CategoryDetail cd;
if (categoryId != null)
{
cd = JsonConvert.DeserializeObject<CategoryDetail>(JsonConvert.SerializeObject(_unitOfWork.GetRepositoryInstance<Tbl_Category>().GetFirstorDefault(categoryId)));
}
else
{
cd = new CategoryDetail();
}
return View("UpdateCategory", cd);
}