MVC Razor TextBoxFor()基于复杂对象的其他模型列表

时间:2015-12-01 16:37:48

标签: c# html linq asp.net-mvc-4 razor

所以我有一个名为Parties的模型,其中包含一个教师列表。

我想根据Instructor对象的属性创建TextBoxFor。

当我执行@ Html.TextBoxFor(x => x.Model.Instructors ...)时,我无法使用Select with Linq来获取Instructor对象的属性。如果我使用linq,我需要动态获取我想要的特定讲师。我需要获取此教师的信息是基于表单上其他位置的文本框,但是如何动态获取另一个文本框的值以满足linq表达式?

1 个答案:

答案 0 :(得分:0)

取决于您想要实现的目标。它(模糊地)听起来像你想要的更像是MVVM架构,在这种情况下你应该看着角度或类似。也许我误解了你想要的东西。

TextboxFor无法为对象列表生成文本框。你期望它产生什么?文本框列表?如果您想要的只是一个具有一些唯一名称的文本框,那么只需选择一个实例,例如@Html.TextBoxFor(x=>x.Model.Instructors.FirstOrDefault().something)

如果通过“动态获取我想要的特定教师”意味着他们将在客户端选择它并且您可以编辑当前现有记录,那么您可能应该将教师列表发送到javascript数组然后写一些客户端代码为你挑选它。或者,如果教师列表太大,您可以进行AJAX调用。为什么不将它基于文本框值,不应该基于下拉/选择值?