在ICollections上使用Html.NameFor

时间:2019-02-01 11:15:50

标签: asp.net-mvc vb.net entity-framework

我有一个实体框架模型(课程),它包含(学生)实体的集合。

我在前端使用AngularJS,并将Course实体传递给我的视图。

从视图中,我需要使用Html.NameFor()为Model的每个属性创建唯一的名称,以便在传递给API时可以映射回Model。

// Course Model
class Course {
    ICollection<Student> Students;
}

// Student Model
class Student {
    public string FullName {get; set;}
}

// MyView.vbhtml
@ModelType Course
<input type = 'text' name = '@Html.NameFor(Function (Model) Model.Students(0).FullName)'/>

我希望输入字段的名称为'Students(0).FullName'。

但是它以'FullName'的形式出现。

反正我可以获得理想的结果吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

我对无论您正在试图获得它是学生(0).Fullname作为一个字符串或集合中的学生的实际名称,但你不得不循环无论哪种方式并不清楚100%

for(int i =0; i < Students.Count; i++)
{
<input type='text' name=Students(i).FullName
}

会给你它作为文字串即学生(1).FullName或学生(2).FullName

for(int i =0; i < Students.Count; i++)
{
<input type='text' name=Students[i].FullName
}

会给你它当成自己的实际名称(注意[],而不是())