ASP.NET MVCとプログラミングは初めてで、このテーマに関する資料を高低で検索しましたが、特定の問題に対する具体的な答えは見つかりませんでした。
私が取り組んでいるプロジェクトでは、WCFサービスを使用する必要があります。最初は、機能するjQueryオートコンプリート関数から始めましたが、コードをWCFサービスに移動すると、一部の通信が切断されました。オートコンプリート機能は機能しなくなりました
WCFサービス
public IList<Location> QuickSearchLocation(string term)
{
using (var db = new InspectionEntities())
{
//return all locations except the reserved "Other"
return db.Locations
.Where(r => r.LocationName.Contains(term) && r.LocationId != Constants.OtherId)
.ToList();
}
}
上記のコードは、子テーブルとの関係に基づいてユーザー入力を受け取ることを目的としています。ユーザー入力が子テーブルのデータと一致しない場合、ユーザーエントリはメインデータベースの「その他」の列に保存されます。
コントローラ
public ActionResult QuickSearchLocation(string term)
{
return Json(_service.QuickSearchLocation(term), JsonRequestBehavior.AllowGet);
}
意見
div class="editor-field">
@Html.TextBoxFor(m=>m.LocationId,new {data_autocomplete = Url.Action("QuickSearchLocation", "Inspection")})
脚本
$(document).ready(function () {
$(":input[data-autocomplete]").each(function () {
$(this).autocomplete({ source: $(this).attr("data-autocomplete")});
});
私の問題に関する洞察は役に立ちます。