Представление появляется на секунду, а затем выдается следующее сообщение об ошибке -
Словарь параметров содержит пустую запись для параметра 'sortField' ненулевого типа 'Project.Enumerators.SortResultEnum'для метода «System.Threading.Tasks.Task 1[System.Web.Mvc.ActionResult] Details(Project.Enumerators.SortResultEnum, System.Web.Helpers.SortDirection, System.String, System.Nullable
1 [System.Int32])» в «Project.Controllers.SearchController».Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.Имя параметра: параметры
У меня есть форма, которая выполняет ajax-вызов, а затем ajax-вызов перенаправляет его в контроллер.
Ajax-вызов:
$(document).on('submit', '#SearchForm', function () {
var $form = $(this);
var $searchString = $("#SearchString").val();
var $sortField = $form.attr("data-sortOrder");
var $sortDirection = $form.attr("data-sortDirection");
SortResults($sortField, $sortDirection, $searchString);
});
Форма:
<form id="SearchForm" action="@Url.Action("Details", "Search")" method="get" data-ajax="true" data-sortOrder="@SortResultEnum.ClientName" data-sortDirection="@SortDirection.Ascending">
@Html.TextBox("SearchString", ViewBag.CurrentSearchString as string, new { id = "SearchString", @class = "form-control", placeholder = "" })
<span class="input-group-btn">
<button class="btn btn-primary" type="submit" id="search-btn"><i class="glyphicon glyphicon-search"></i></button>
</span>
</form>
Действие контроллера похоже на
public async Task<ActionResult> Details(SortResultEnum sortField,SortDirection sortDirection, string searchString, int? page)
{
//code to call service and get result is here
// partial view is being used to display data
}
Может кто-нибудь, пожалуйста, помогите мне с этой ошибкой.Спасибо.