jeudi 27 août 2015

Enable boolean and enter text in view then pass back to controller - MVC

I have a view that displays a boolean (currently defaulted to 0) in a box format in the view that I cannot check to activate as true and also want to enter text in the result field to pass back to the controller and save both changes to a table. Can someone please explain what I have to do to allow this functionality to work please.

enter image description here

Controller code

public ActionResult P1A1Mark()
    {
        List<MarkModel> query = (from row in db.submits
                                     where row.assignment_no.Equals("1") && row.group_no == 1
                                     group row by new { row.assignment_no, row.student_no, row.student.firstname, row.student.surname } into g
                                     select new MarkModel
                                     {
                                         student_no = g.Key.student_no,
                                         student_surname = g.Key.surname,
                                         student_firstname = g.Key.firstname

                                     }
                                        ).ToList();

        return View(query);
    }

View

@model IEnumerable<MvcApplication2.Models.MarkModel>

@{
    ViewBag.Title = "P1A1Mark";
}

<h2>Mark Student Assignments</h2>

<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.student_no)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.student_surname)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.student_firstname)
        </th>
         <th>
            @Html.DisplayNameFor(model => model.submitted)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.result)
        </th>

        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.student_no)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.student_surname)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.student_firstname)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.submitted)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.result)
        </td>

    </tr>
}

</table>

Model

    public class MarkModel
{
    public string student_no { get; set; }
    public string student_surname { get; set; }
    public string student_firstname { get; set; }
    public string assignment_no { get; set; }
    public bool submitted { get; set; }
    public string result { get; set; }
    public Nullable<int> group_no { get; set; }
}




Aucun commentaire:

Enregistrer un commentaire