同じ問題で多くの投稿を読んだことがありますが、何も助けませんので重複した質問にお詫び申し上げます:(IveはJQueryUIサイトの簡単なサンプルをハードコーディング値とオートコンプリートが、私は私のデータベースから来て、それを必要とするJQuery UIオートコンプリートがActionResultに到達しないC#MVC
ビュー:
@Html.TextBoxFor(model => model.Position, new { @type = "text", @id = "jobtitle", @name = "jobtitle", @placeholder = "Job Title" })
JS:
EDIT:私は成功した場合にアラートを追加し、アラートが呼び出されているが、そこ何もないa(すなわち、 DBから引っ張られているデータがありません)
<script>
$(function() {
$("#jobtitle").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("JobsAutoFill", "Account")',
data: {
Prefix: request.term
},
success: function (data) {
alert(data);
response(data);
}
});
},
minLength: 1
});
//$("#jobtitle").autocomplete({
// source: "/Account/JobsAutoFill/"
//});
});
</script>
そして、私は必要なリンクを追加していませ:
: 以下<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
は、ジョブのリストをプルする(実際化するJsonResult)&機能私のActionResultです
public List<Jobs> GetAllJobs()
{
List<Jobs> JobsList = new List<Jobs>();
using (RBotEntities EF = new RBotEntities())
{
var JobsListQuery = (from ED in EF.EmploymentDetails
select new
{
ED.pkiEmploymentDetailID,
ED.Position
});
foreach (var item in JobsListQuery)
{
JobsList.Add(new Jobs
{
Id = item.pkiEmploymentDetailID,
Name = item.Position
});
}
}
return JobsList;
}
public JsonResult JobsAutoFill(string Prefix)
{
//Note : you can bind same list from database
List<Jobs> ObjList = new List<Jobs>();
ObjList = GetAllJobs();
//Searching records from list using LINQ query
var JobNames = (from N in ObjList
where N.Name.StartsWith(Prefix)
select new { N.Name });
return Json(JobNames, JsonRequestBehavior.AllowGet);
}
何か不足しているか間違っていますか?
私は助けていただきありがとうございます!
誰でも手伝っていただけますか? – AxleWack
今はjqueryを無視してください。これはGETメソッドです。ウェブブラウザからアクセスしてください。それは動作しますか?ジョブはシリアライズ可能ですか?サーバー上のブレークポイントにヒットできますか?また、 "データ"オブジェクトの内部には何がありますか? data.Dataも試してみてください –
今コントローラーに連絡してジョブが返されたことを確認できましたが、今は表示されません(テキストが表示されていない小さなボックスのポップアップしか表示されません)。私はdata.Dataを試して、それは未定義と言った。 – AxleWack