【发布时间】:2016-02-04 10:52:26
【问题描述】:
如何根据下拉列表中的选定值更新我的文本框以显示 Contact 模型的 Email1 和 Mobile1 属性
查看
@Html.LabelFor(model => model.CustomerName , new { @class = "control-label" })
@Html.DropDownListFor(model => model.CustomerContactID, new SelectList(string.Empty, "Value", "Text"), "Please select a ContactPerson", new { @style = "width:250px;" })
@Html.LabelFor(model => model.Email1, new { @class = "control-label" })
@Html.TextBoxFor(model => model.ContactID, new { @class = "form-control", type = "text" })
@Html.ValidationMessageFor(model => model.Email1)
@Html.LabelFor(model => model.MobileNo1, new { @class = "control-label" })
@Html.TextBoxFor(model => model.ContactID, new { @class = "form-control", type = "text" })
@Html.ValidationMessageFor(model => model.MobileNo1)
脚本
$('#CustomerContactID').change(function () {
$('#ContactID').empty();
$.ajax({
type: "GET",
url: "/VisitorsForm/GetEmailByCustomerContactId",
datatype: "Json",
data: { CustomerContactID: $('#CustomerContactID').val() },
success: function (data) {
$('#Email1').val(data.Email1);
$('#MobileNo1').val(data.Mobile1);
}
});
});
控制器
public JsonResult GetEmailByCustomerContactId(string CustomerContactId)
{
Guid Id = Guid.Parse(CustomerContactId);
var contacts = from a in db.Contacts where a.ContactID == Id select a;
return Json(contacts);
}
【问题讨论】:
-
什么不起作用?你得到什么错误?
var contacts = from a in db.Contacts where a.ContactID == Id select a; return Json(contacts);返回一个集合,而一个集合没有名为Email1或Mobile1的属性。建议你删除90%与你的问题无关的代码,专注于问题,然后你就会得到答案。 -
其实email和MobileNo在联系表中
-
我没有收到任何错误
-
你不明白我的最后评论吗(我知道 Email 和 MobileNo 在联系人表中 - 这无关紧要)
-
答案帮助@Vani
标签: c# jquery asp.net-mvc-4