C# 视图模型的动态调用

C# 视图模型的动态调用,c#,viewmodel,C#,Viewmodel,我在其他视图模型中使用视图模型来创建复杂的表单。这个特殊的表单上有3个不同的联系人,我想动态地调用这个特定的联系人。下面是姓氏的3个不同联系人类型字段的示例 @Html.TextBoxFor(m => m.Projects[0].SponsorContact.LastName) @Html.TextBoxFor(m => m.Projects[0].BrokerContact.LastName) @Html.TextBoxFor(m => m.Projects[0].Logis

我在其他视图模型中使用视图模型来创建复杂的表单。这个特殊的表单上有3个不同的联系人,我想动态地调用这个特定的联系人。下面是姓氏的3个不同联系人类型字段的示例

@Html.TextBoxFor(m => m.Projects[0].SponsorContact.LastName)
@Html.TextBoxFor(m => m.Projects[0].BrokerContact.LastName)
@Html.TextBoxFor(m => m.Projects[0].LogisticsContact.LastName)

我认为一定有某种方法可以让一个字符串的值为SponsorContact或BrokerContact,用于调用

当你说有一个带值的字符串时,你是说使用这样的索引器吗?m、 项目[赞助商联系人]?请澄清。类似这样的问题,但如果我能在这一层面上具体一点,我会有答案的。从你的问题来看,我认为你也是用PHP编程的,这很简单。有一点,但我主要处理C。如果你指的是关联数组,C就没有同样的东西。最接近的是键值对字典。但即使这样,我也不知道这是否真的能帮你省那么多钱。据我所知,你正在以必须的方式做这件事。尽管如此,您可以使用@foreach语句循环所有项目,而不是单独调用每个索引,而不是以这种方式使用项目[0]。同意,用于调用的内容不清楚。打电话到TextBoxFor?如果是这样的话,字符串SponsorContact将如何使用呢?这不是为了节省时间,而是为了代码的优雅。表单的联系人部分需要根据所选国家/地区通过ajax切换部分视图。有3个联系人部分,但我只需要一个加载其国家/地区选择框已更改。我开始怀疑C会让我在每个局部视图中编写联系人表单的3个副本,并使用基于联系人类型的if语句来获得正确的表单字段名。我只是不认为我为什么需要它的所有背景对这个问题有帮助。