ユーザーのリストを取得するためにアプリにオートコンプリートを実装しましたが、ユーザーを検索してもリストが表示されません。
私の_Layout.cshtmlで:
<link href="@Url.Content("~/Content/themes/base/jquery.ui.all.css")" rel="stylesheet" type="text/css" />
<script src="~/Scripts/jquery-2.0.3.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-ui-1.10.3.js" type="text/javascript"></script>
私からしてみれば:
<script type="text/javascript">
$(document).ready(function () {
$(function () {
$('#txtListUsers').autocomplete({
source: '@Url.Action("GetJsonUsers","GestioneLega")',
minLength: 2
});
});
})
</script>
...
<input type="text" id="txtListUsers" />
私の行動:
public JsonResult GetJsonUsers(string term)
{
var users = GestServices.GetUsersForAutocomplete(term);
return Json(users, JsonRequestBehavior.AllowGet);
}
データを取得:
public static object GetUsersForAutocomplete(string searchTerm)
{
object users = null;
using (var db = new FriendsContext())
{
users = from cust in db.Users.Where(c => c.UserName.StartsWith(searchTerm))
select cust.UserName;
}
return users;
}
関数 GetJsonUsers が機能しません:さらにテストを行うと、GetUsersForAutocomplete 関数で、変数 "users" が using スコープでのみ満たされていることに気付きました。スコープを使用していないユーザーを即座に制御すると、次のようになります。 DbContext が破棄されたため、操作を完了できません
このディスカッションに従って、この問題を解決しました DbContextが破棄されたため、操作を完了できません エラー