0
我有一個自動完成在我的MVC 4應用程序連接到世界上所有城市的數據庫(所以你可以想象它的相當大)。它可以在個人電腦上正常工作,但是當我在智能手機上訪問網站時,加載需要3秒鐘,性能變得非常低。使用Ajax或JSON會更快嗎?我一直只在MVC和web上編程一個月,所以請和我一起裸照。下面的代碼(我使用的代碼從pluralsight教程):jQuery的自動完成在ASP.net真的很慢MVC 4移動
查看+的Javascript部分
<!--Searching through all the hotel locations -->
<p>Hotel Location (City): @Html.TextBoxFor(x => x.booking_instance.Location,
new { data_autocomplete = @Url.Action("QuickSearch", "Booking") })</p>
<script type="text/javascript">
$(document).ready(function() {
$(":input[data-autocomplete]").each(function() {
$(this).autocomplete({ source: $(this).attr("data-autocomplete") });
});
});
</script>
控制器
// this is my database of cities.
TE_TSQL1_HBOSDataContext _db = new TE_TSQL1_HBOSDataContext();
public ActionResult QuickSearch(string term)
{
var cities = _db.Cities
.Where (r => r.CityName.Contains(term))
.Select(r => new { label = (r.CityName + ", " + r.CountryName) });
return Json(cities, JsonRequestBehavior.AllowGet);
}
完美!奇蹟般有效 :)。你知道我可以真正理解AJAX和JSON嗎? (最好在MVC環境中,但如果不是那樣的話)!我知道他們應該做什麼,但我沒有完全掌握何時以及如何使用它們。 –