我在网页上写了一个函数,当你键入一个序列号时,它会查找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查询。如果没有匹配的序列号会怎么样?现在你抛出异常,你可以让我们知道客户端,并优雅地将其展示给用户界面。 –
哦,是的,我刚刚完成编码。我只是担心在我开始复杂化代码之前先获取数据。 – bubbajake00