У меня есть модель курс, компонент, субкомпонент и оценка:Вставить значение на разных моделях в одном представлении MVC 4
public class Course
{
public virtual int CourseId { get; set; }
(...)
public virtual List<Component> Components { get; set; }
public virtual List<UserCourse> Users { get; set; }
}
public class Component
{
public virtual int ComponentId { get; set; }
public virtual string Type { get; set; }
public virtual string Name { get; set; }
public virtual Course Course { get; set; }
public virtual List<Subcomponent> Subcomponents { get; set; }
}
public class Subcomponent
{
public virtual int SubcomponentId { get; set; }
public virtual int ComponentId { get; set; }
public virtual string TypeSub { get; set; }
public virtual string NameSub { get; set; }
(...)
public virtual int ParentId { get; set; }
public virtual Subcomponent Parent { get; set; }
public virtual List<Subcomponent> Childs { get; set; }
public virtual Component Component { get; set; }
}
public class Evaluation
{
public virtual int EvaluationId { get; set; }
public virtual int ComponentId { get; set; }
public virtual Component Component { get; set; }
public virtual int UserCourseId { get; set; }
public virtual UserCourse User { get; set; }
public virtual int Grade { get; set; }
}
мне нужно дать оценку каждый подкомпонент (или компоненту, если компонент не имеют подкомпоненты) каждому пользователю. Во-первых у меня есть мнение, что показывает пользователей и оценки уже данные, как индекс:
@model SGP.Models.Course
<table>
<tr>
<th>
Users
</th>
<th>
Grades
</th>
</tr>
@foreach (var x in Model.Users)
{
<tr>
<td>
@Html.DisplayFor(modelItem => x.User.UserName)
</td>
@foreach (var y in x.Evaluation)
{
<td>
<table>
<tr>
<td>
<b>@Html.DisplayFor(modelItem => y.Component.NameComp)</b>
</td>
</tr>
<tr>
<td>
@Html.DisplayFor(modelItem => y.Grade)
</td>
</tr>
</table>
</td>
}
<td>
@Html.ActionLink("Give grade", "Comps", "Evaluation", new { id = x.UserCourseId }, null)
</td>
</tr>
}
</table>
Затем при нажатии «Подари класс», у меня есть окно поиска, чтобы выбрать компонент, которым сорт будет дано , Поиск даст список подкомпонентов этого компонента. Каждый компонент может иметь один или несколько подкомпонентов, поэтому конечный класс для компонента является средним по классам подкомпонентов. Вид подкомпонентов:
@model SGP.Models.Component
<table>
<tr>
<th>
@Html.DisplayFor(model => model.NameComp)
</th>
<th>
Grade
</th>
</tr>
@foreach (var item in Model.Subcomponents) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.NameSub)
</td>
<td>
???????
</td>
</tr>
}
</table>
Но с этой точки зрения мне нужно, чтобы получить UserCourseId выбранный ранее и дать оценку пользователю в выбранной подкомпоненте. Как я могу это сделать? Благодаря
EDIT: Дают оценка:
@using (Html.BeginForm("ListaSubs", "Evaluation", FormMethod.Post))
{
<table>
<tr>
<th>
@Html.TextBox("text")
</th>
<td>
<input type="submit" id="ButtonSearch" value="Search" />
</td>
</tr>
</table>
}
И контроллер:
[HttpPost, ActionName("ListaSubs")]
public ActionResult ListaSubs(string text)
{
var util = (db.Subcomponents.Where(m =>
m.ComponentId.Equals(text)));
return View("view", util);
}
, что означает «дать оценку» вид выглядеть и как она изображена? – Steve
@Steve Его в вопросе сейчас – dasdasd