我正在用 asp.net mvc4 开发一个项目。实际上,我正在做一个表单,其中有一个 Select 包含联系人列表:
<select id="choix_contact">
<option>Choisir un contact</option>
@if (ViewBag.ListeContacts != null)
{
foreach (var Contact in ViewBag.ListeContacts)
{
int index = ViewBag.ListeContacts.IndexOf(Contact);
<option value="index">@Contact.Nom</option>
}
}
else
{
<option>Pas de contact</option>
} </select>
当我单击列表中的联系人时,我想获取有关该联系人的数据,这要归功于从控制器返回 Json 数据的函数。我将一个参数传递给该函数,该参数是列表中联系人的索引。我的功能如下所示:
public JsonResult GetContactInfo(int indexContactList)
{
int NumDossier = StructureData.DonneNumDossier((string)Session["Utilisateur"], (string)Session["MotDePasse"]);
List<Contact> ListeContacts = StructureData.DonneListeContact(NumDossier);
Contact ContactInfos = new Contact(ListeContacts[indexContactList].Nom, ListeContacts[indexContactList].Prenom, ListeContacts[indexContactList].Email, ListeContacts[indexContactList].Fonction, ListeContacts[indexContactList].TelephoneFixe, ListeContacts[indexContactList].TelephonePort);
return Json(ContactInfos);
}
所以现在要在 Ajax 中从控制器到视图中获取数据,我使用该代码:
$(document).ready(function() {
$("#choix_contact").change(function () {
var selectContact = document.getElementById('choix_contact');
var index = selectContact.value;
var url = "/Accueil/GetContactInfo";
$.getJSON(url, { indexContactList: index }, function (data) {
$("#nom").html(data.Nom);
$("#prenom").html(data.Prenom);
$("#email").html(data.Email);
$("#fonction").html(data.Fonction);
$("#telFix").html(data.TelephoneFixe);
$("#telPort").html(data.TelephonePort);
});
});
});
现在的问题是它根本不起作用,它甚至没有进入 ajax 脚本......也许有人有想法?