В моем _partial.cshtml есть следующая форма:
<form class="form-inline text-center" asp-controller="Search" asp-action="Index">
@Html.TextBoxFor(m => new Search().SearchTerm, new { @class = "form-control search-term-box", placeholder = "Search keyword" })
<span class="btn btn-outline-primary mr-1 ml-1">Near</span>
@Html.TextBoxFor(m => new Search().Location, new { @class = "form-control search-term-box mr-2", placeholder = "Los Angeles, CA" })
<button class="btn btn-primary my-2 my-sm-0" type="submit">Search</button>
</form>
Мой SearchController.cs:
[BindProperty]
public Search SearchModel { get; set; }
[HttpPost]
public IActionResult Index(Search term, Search location = null)
{
SearchModel = new Search()
{
SearchTerm = term.ToString(),
Location = location.ToString()
};
//(Razor) Search Page with no page model
//Bind SearchModel to page
return View("Search");
}
В ASP.Net MVC я могу сделать что-то подобное иэто будет работать нормально, но как мне заставить это работать с ASP.Net Core Razor Pages? Нажатие кнопки отправки ничего не делает. Если это имеет значение в моем Startup.cs, у меня есть services.AddMvc(o => o.EnabledEndpointRouting = false);
в методе ConfigureServices и app.UseMvc();
в методе Configure. Я новичок в Razor Pages, поэтому, если есть лучшее соглашение для достижения того же самого, пожалуйста, совет.
Редактировать: Я нашел решение, я добавил атрибут маршрутизации в свой контроллер поиска. Хотя это подходящее решение, я по существу применил соглашение MVC к своему проекту, который состоит из Razor Pages. Если кто-то может предложить решение, которое применимо к Razor Pages, ответы приветствуются.