我有一个强类型的局部视图,它以列表格式显示输出。我想从数据库的部分视图中插入数据。我正在努力遍历部分视图中的行并将它们发送到控制器操作以插入数据库。这是我到目前为止所拥有的
部分的:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Student.Models.vwStudent>>" %>
<table>
<tr>
<th>
Student ID
</th>
<th>
Past Due Amount
</th>
<th>
Past Due Days
</th>
</tr>
<% if (Model != null)
foreach (var item in Model) { %>
<tr>
<td>
<%=Html.TextBox("StudentID",item.StudentID) %>
</td>
<td>
<%=Html.TextBox("PastDueAmount",item.PastDueAmount) %>
</td>
<td>
<%=Html.TextBox("PastDueDays",item.PastDueDays) %>
</td>
</tr>
<% } %>
</table>
这是我在master中访问以上部分的方式:
<div>
<% using(Html.BeginForm("SaveStudentInvoice", "StudentInvoice")) %>
<% { %>
<div>
<% Html.RenderPartial("DisplayStudentInvoiceList"); %>
</div>
<% } %>
<br/>
<input type="button" id="Submit" name="Submit" value="Submit" />
</div>
控制器:
[HttpPost()]
public ActionResult SaveStudentInvoice(IEnumerable<Student.Models.vwStudent> students)
{
DataContext db = new DataContext();
foreach(Student.Models.vwStudent student in students){
Invoice Inv = new Invoice();
{
Inv.StudentID= student.StudentID;
Inv.PastDueAmount= student.PastDueAmount;
Inv.PastDueDays= student.PastDueDays;
};
db.Invoices.InsertOnSubmit(Inv);
}
db.SubmitChanges();
return View();
}
在部分视图中,列出了不止一名学生(2,3,4.. 行)。当我点击“保存”按钮时,我只能保存部分(第一行)中列出的第一个学生,如何循环访问部分列出的剩余学生以保存他们?
提前致谢。