ASP. NET MVC - значение, отправляемое контроллеру, является нулевым из представления - PullRequest
1 голос
/ 19 июня 2020

Кажется, я не могу понять, почему мое значение, отправляемое в контроллер с использованием Html.BeginForm(), всегда равно NULL.

Это мой контроллер:

[HttpPost]
public PartialViewResult SearchTest(string searchThingy)
{
        try
        {
            var model = new SearchTestViewModel(searchThingy);
            return PartialView("_SearchTest", model);
        }
        catch
        {
            return PartialView("_Error");
        }
}

Это код, который я использую для вызова контроллера в представлении:

// The component containing the value in the view:
@Html.TextBoxFor(model => model.SearchThingy, new { @class = "form-control", @id = "txtSearchTerm" })

// This Ajax.BeginForm is being called from a button
@using (Ajax.BeginForm("SearchTest", "Search", null, new AjaxOptions
{
    HttpMethod = FormMethod.Post.ToString(),
    OnBegin = "showGeneralLoadingIndicator",
    OnComplete = "hideGeneralLoadingIndicator"
}, new { @id = "frmSearchOutstandingActions" }))
{@Html.Hidden("searchThingy", Model.SearchThingy)}

// I have also tried using query string instead:
@{var queryStringParameters = new { @searchThingy = Model.SearchThingy }; }

@using (Ajax.BeginForm("SearchTest", "Search", queryStringParameters, new AjaxOptions
{
    HttpMethod = FormMethod.Post.ToString(),
    OnBegin = "showGeneralLoadingIndicator",
    OnComplete = "hideGeneralLoadingIndicator"
}, new { @id = "frmSearchOutstandingActions" }))
{}

Код моей модели представления, имеющий отношение к этому:

public class SearchTestViewModel
{
    public string SearchThingy{ get; set; }
}

Я также попытался изменить HttpMethod на . Не могу понять почему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...