.netcore是我的新手。我有一个正在处理的应用程序。我想跟踪用户单击并保存在数据库中。例如,如果用户搜索某些内容并单击搜索结果,让我们说第二个结果,那么我想将该结果保存在数据库中,并将其得分设为1,以备将来参考。 我已经尝试在互联网上搜索此内容,但到目前为止没有任何帮助。
答案 0 :(得分:0)
对于这样的示例,我将其写为空白,但是,如果您这样实现,它应该做您想要的(从逻辑上)。因为我不知道您的模型,所以数据库实现等在您身边。
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 /剃刀
<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);
}
}