我正在编写一个网页上的函数,当你输入序列号时,它会在 SQL 数据库中查找与该序列号对应的零件型号。目前,JsonResult 可以正常工作并找到正确的信息,但是 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函数区域缺少什么吗?
Model
只是一个返回的字符串(就像我认为它是另一个类一样)。无论如何,我已添加了处理单个属性或返回整个图形的示例,这应该能够澄清事情。 - Rion Williams