Например, вот так, я написал этот бланк, но он должен делать то, что вы хотите (из логики), если вы реализуете это так. Ect реализации базы данных, на вашей стороне, так как я не знаю ваших моделей.
Javascript:
$('li[data-result]').click(function(){
var result = $(this).data('result');
var keyword = $(this).data('keyword');
console.log(`/click/searchrecording?result=${result}&keyword=${keyword}`);
/*
$.ajax({
url: `/click/searchrecording?result=${result}&keyword=${keyword}`,
method: 'GET',
succsess: function(){
console.log('recorded Click');
}
});
*/
})
Html / Razor
<ul>
@foreach(var result in @Model.Results)
{
<li data-result="@result.Id" data-keyword="@Model.Keyword">@result.Text</li>
}
<ul>
Для записи кликов:
public class ClickController
{
public async Task<IActionResult> SearchRecording([FromQuery] string result [FromQuery] string keyword)
{
/* Record to Database Async */
return Ok();
}
}
чтобы выполнить поиск:
public class SearchController
{
public async Task<IActionResult> Search([FromQuery] string keyword)
{
var results = await SearchInDatabase(keyword);
var model = new SearchResultViewModel();
model.Keyword=keyword;
model.Results = results.OrderByDescending(x => x.Rank)
return View(model);
}
}