如何访问Viewbag中foreach外特定索引处对象的属性
本文关键字:索引 对象 属性 foreach 何访问 访问 Viewbag | 更新日期: 2023-09-27 18:25:45
我有一个选择输入,我在其中显示ViewBag中的数据,ViewBag包含对象列表"联系人":
<select id="choix_contact" onchange="javascript:RemplirTextbox();">
<option>Choisir un contact</option>
@if (ViewBag.ListeContacts != null)
{
foreach (var Contact in ViewBag.ListeContacts)
{
<option>@Contact.Nom</option>
}
}
else
{
<option>Pas de contact</option>
}
问题是,我想处理select上的onchange javascript事件。当我们在列表中选择一个联系人时,我想用该联系人的其他属性填充文本框。该列表包含具有以下属性的联系人:
new Contact(nom_contact, prenom_contact, email_contact, formation_contact, telephoneFixe_contact, telephonePortable_contact)
例如,当我们选择一个名为:Hubert的联系人时,我希望在下面的文本框中,联系人的号码显示在文本框中。我尝试了很多方法,但在foreach之外,我不知道如何访问对象的属性。我知道我们可以通过这样做来了解列表中对象的索引:
int index = ViewBag.ListeContacts.IndexOf(Contact);
有人有主意吗?我没有剩下的了。。。
您应该尽量避免在javascript中获取剃刀变量的混乱。
此外,尽可能避免使用ViewBag。
我会通过在您的一个控制器上使用一个方法来实现这一点,该方法将Contact字符串作为参数,并访问您的数据库并返回您想要的变量列表。
然后,在下拉框的值更改事件中添加一个javascript事件处理程序,并对控制器方法进行Ajax调用。然后,这将访问您的数据存储,并返回值,然后通过ajax将这些值反馈给JS。然后你可以在空闲时填充你的文本框。