C# 我的一些搜索结果没有';本地存储中没有基准
我已经尝试研究了一段时间,我发现一个人有类似的问题,但他的问题没有解决方案: 我的一些猎犬对象正在本地存储中生成预期结果,但其中两个缺少数据(基准)。即使它们缺少基准部分,其他一切都可以工作。我可以按预期提前键入搜索。我想知道为什么这两个对象没有存储数据 我现在尝试使用cacheKey属性而不是默认值,因此此图像不会显示我使用cacheKey属性 这是我的代码中使用typeahead的一部分。typeahead可以工作,但未存储在本地存储器中: JavaScript: HTMLC# 我的一些搜索结果没有';本地存储中没有基准,c#,model-view-controller,typeahead.js,bloodhound,C#,Model View Controller,Typeahead.js,Bloodhound,我已经尝试研究了一段时间,我发现一个人有类似的问题,但他的问题没有解决方案: 我的一些猎犬对象正在本地存储中生成预期结果,但其中两个缺少数据(基准)。即使它们缺少基准部分,其他一切都可以工作。我可以按预期提前键入搜索。我想知道为什么这两个对象没有存储数据 我现在尝试使用cacheKey属性而不是默认值,因此此图像不会显示我使用cacheKey属性 这是我的代码中使用typeahead的一部分。typeahead可以工作,但未存储在本地存储器中: JavaScript: HTML 注意:我似乎远
注意:我似乎远远没有超过localstorage max storage我终于找到了它不存储在本地存储中的原因。原因是超过了本地存储的最大存储空间。我发现在存储的数据段的末尾有一个trie属性,它与它一起存储。即使您的列表只有3000个元素,附带的trie也足以占用大量存储空间。所以有未知的开销
崔:它似乎是用来搜索的树。我想要一种只存储数据部分的方法,并且总是在客户端生成树。这样我们就可以在本地存储上存储更多的东西。如果不将此作为默认设置,PreTech的目的就是不调用服务器。我知道该树正在客户端构建,但我们不需要将其保存在本地存储中。我终于找到了它不存储在本地存储中的原因。原因是超过了本地存储的最大存储空间。我发现在存储的数据段的末尾有一个trie属性,它与它一起存储。即使您的列表只有3000个元素,附带的trie也足以占用大量存储空间。所以有未知的开销 崔:它似乎是用来搜索的树。我想要一种只存储数据部分的方法,并且总是在客户端生成树。这样我们就可以在本地存储上存储更多的东西。如果不将此作为默认设置,PreTech的目的就是不调用服务器。我知道正在客户端构建树,但我们不需要将其保存在本地存储中
var sections = new Bloodhound({
datumTokenizer: function (d) {
$(".loadingSections").hide();
var namepartTokens = Bloodhound.tokenizers.nonword(d);
var nameTokens = Bloodhound.tokenizers.whitespace(d);
var allTokens = namepartTokens.concat(nameTokens);
return allTokens;
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: classLookUp,
cacheKey: 'sectionLookUp'
}
});
sections.initialize();
$(".section-lookup .typeahead").typeahead({ highlight: true }, {
source: sections.ttAdapter()
});
...
<script>
var classLookUp = '@Url.Action("GetClassNames", "Home")';
...
</script>
...
<div class="form-group section-lookup">
<div class="loadingSections"></div>
<label class="control-label col-sm-2">Section:</label>
<div class="col-sm-10">
@Html.TextBoxFor(x => x.DisplayName, new { @class = "form-control typeahead", @id = "editLookup", @placeholder = "ex. 15/FA CIS-131-102" })
</div>
</div>
<button type="button" id="editSearch" class="btn btn-primary col-sm-offset-4 col-sm-4">Search for Course</button>
[HttpGet]
public ActionResult GetClassNames()
{
try
{
var newSections = this.repo.Courses;
var names = newSections.Select(course => course.DisplayName).ToList();
return this.Json(names, JsonRequestBehavior.AllowGet);
}
catch (DatabaseConnectionException)
{
return this.Json(new { failure = true }, JsonRequestBehavior.AllowGet);
}
}