2014-02-21 52 views
0

enter image description hereMVC2应用,我们可以做一个网页,在同一个地方输入和显示列表

下面我有两条表代码首先是显示输入字段和第二个是显示列表,问题是,在输入字段中显示其集合与此绑定。

代码查看

<h2>AddmissionCellWithModel</h2> 

<div> 
    <% using (Html.BeginForm("InsertN", "AddmissionCell", FormMethod.Post)) 
     { %> 
    <table> 
     <tr> 
      <td> 
       Student's Name: 
      </td> 
      <td> 
       <%= Html.TextBox("StudentName", Model)%> 
      </td> 
      <td> 
       Addmission Year: 
      </td> 
      <td> 
       <%= Html.TextBox("AddmissionYear", Model)%> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Father's Name: 
      </td> 
      <td> 
       <%= Html.TextBox("FatherName", Model)%> 
      </td> 
      <td> 
       Mother's Name: 
      </td> 
      <td> 
       <%= Html.TextBox("MotherName", Model)%> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Contact: 
      </td> 
      <td> 
       <%= Html.TextBox("Contact", Model)%> 
      </td> 
      <td> 
       Address: 
      </td> 
      <td> 
       <%= Html.TextBox("Address", Model)%> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       SchoolName: 
      </td> 
      <td> 
       <%= Html.TextBox("SchoolName", Model)%> 
      </td> 
      <td> 
       EnrollmentId: 
      </td> 
      <td> 
       <%= Html.TextBox("EnrollmentID", Model)%> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="4" align="right"> 
       <input type="submit" value="Save" /> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="4"> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="4"> 



      </td> 
     </tr> 

    </table> 



    <%} %> 
</div> 


<table> 
    <tr> 
     <th> 
      EnrollmentID 
     </th> 
     <th> 
      StudentName 
     </th> 
     <th> 
      SchoolName 
     </th> 
     <th> 
      StudentID 
     </th> 
     <th> 
      FatherName 
     </th> 
     <th> 
      MotherName 
     </th> 
     <th> 
      Address 
     </th> 
     <th> 
      Contact 
     </th> 
     <th> 
      ClassId 
     </th> 
     <th> 
      AddmissionYear 
     </th> 
     <th> 
      EnrollDateTime 
     </th> 
     <th> 
      IsActive 
     </th> 
    </tr> 

<% foreach (var item in Model) { %> 

    <tr> 
     <td> 
      <%: item.EnrollmentID %> 
     </td> 
     <td> 
      <%: item.StudentName %> 
     </td> 
     <td> 
      <%: item.SchoolName %> 
     </td> 
     <td> 
      <%: item.StudentID %> 
     </td> 
     <td> 
      <%: item.FatherName %> 
     </td> 
     <td> 
      <%: item.MotherName %> 
     </td> 
     <td> 
      <%: item.Address %> 
     </td> 
     <td> 
      <%: item.Contact %> 
     </td> 
     <td> 
      <%: item.ClassId %> 
     </td> 
     <td> 
      <%: item.AddmissionYear %> 
     </td> 
     <td> 
      <%: String.Format("{0:g}", item.EnrollDateTime) %> 
     </td> 
     <td> 
      <%: item.IsActive %> 
     </td> 
    </tr> 

<% } %> 

</table> 

和控制器代码...

公众的ActionResult AddmissionCellWithModel(){

 SchoolManagementV1Entities db = new SchoolManagementV1Entities(); 
     List<EnrollmentModel> result = (from q in db.VW_EnrollmentModel 
             select new EnrollmentModel() 
             { 
              EnrollmentID = q.EnrollmentId, 
              StudentName = q.StudentName, 
              StudentID = q.StudentID, 
              FatherName = q.FatherName, 
              MotherName = q.MotherName, 
              Address = q.Address, 
              Contact = q.Contact ?? 0, 
              AddmissionYear = q.EnrollYear, 
              EnrollDateTime = q.AdmissionDateTime, 
              IsActive = q.EnrollIsActive 
             }).ToList(); 
     return View(result); 
    } 

这个回报的观点是结果对象返回到视图

所以一些在告诉我怎样才能防止显示System.Collection.Generic ....

enter image description here

回答

0

你需要一个单一或多重形式?

我在问这是因为在图像中我只看到1个窗体,但是您传递的是EnrollmentModel的列表。

如果你只需要1个表格和1个表格(我认为这是你的情况),传递给仅查看EnrollmentModel,而不是它们的列表。像这样的东西

List<EnrollmentModel> result = (from q in db.VW_EnrollmentModel 
            select new EnrollmentModel() 
            { 
             EnrollmentID = q.EnrollmentId, 
             StudentName = q.StudentName, 
             StudentID = q.StudentID, 
             FatherName = q.FatherName, 
             MotherName = q.MotherName, 
             Address = q.Address, 
             Contact = q.Contact ?? 0, 
             AddmissionYear = q.EnrollYear, 
             EnrollDateTime = q.AdmissionDateTime, 
             IsActive = q.EnrollIsActive 
            }).ToList(); 
    return View(result); 

所以改变这种

var myId=7; //Example 
return View(db.VW_EnrollmentModel.Single(m=>m.EnrollmentId==myId)); 

请注意,这里我猜你想显示一个VW_EnrollmentModel,使用EnrollmentId检索。

然后你必须改变你的视图设置正确的模型类型和属性:实际上现在模型是VW_EnrollmentModel,所以你没有AddmissionYear但是例如EnrollYear。

如果这不是预期的结果,请添加评论,我会编辑我的答案。

希望这有助于

阿尔贝托

相关问题