Webページに関数を書いています。シリアル番号を入力すると、SQLデータベースのシリアル番号と一緒になる部品のモデルが検索されます。今、JsonResultは正しい情報を見つけようとしていますが、シリアル番号ボックスをクリックしても表示されないので、jqueryとajaxに何か問題があります。JqueryとAjaxでデータを返す
ここにコントローラコードがあります。
public JsonResult SerialNumberSearch(string serialnum)
{
var result = db.IASerialNoMasters.Where(x => x.SerialNo == serialnum).Select(x => x.Model).Single().ToString();
return Json(result, JsonRequestBehavior.AllowGet);
}
ここに私のビューに現在あるスクリプトがあります。
<script type="text/javascript">
var serialnum;
var url = '@Url.Action("SerialNumberSearch", "WarrantyRegistration")'
$("#SerialNum").blur(function() {
GetLiftModel();
});
function GetLiftModel() {
serialnum = $("#SerialNum").val();
$.ajax({
type: "GET",
url: url,
data: { serialnum: serialnum },
success: function(data) {
$('#ModelName').val(data.Model);
}
})
}
</script>
これは、ビューのテキストボックスのコードです。
<div class="row">
@Html.TextBoxFor(model => model.SerialNum, new { placeholder = "Serial #" })
@Html.ValidationMessageFor(model => model.SerialNum, null, new { @class = "text-danger" })
</div>
<br />
<div class="column-1">
@Html.TextBoxFor(model => model.ModelName, new { placeholder = "Model" })
@Html.ValidationMessageFor(model => model.ModelName, null, new { @class = "text-danger" })
</div>
コードのGetLiftModel関数から何が欠けているのか誰にも分かりますか?
これで作業が終了しました、ありがとうございます!私は今数時間、これに固執してきました。私はちょうどそれをテストし、それは正しい部分をもたらした。 – bubbajake00
ようこそ。また、LINQクエリについても考えることをお勧めします。一致するシリアル番号がない場合はどうなりますか?今では例外をスローしていますが、クライアント側に知らせて、これをUIに適切に表示することができます。 –
ああ、私はちょうどそれをコーディングし終わった。コードをもう少し複雑にしてしまう前に、データが最初に出てくるのを心配していました。 – bubbajake00