【发布时间】:2014-02-27 06:36:39
【问题描述】:
我有一个非常简单的数据表,它返回:
Report1 和一个复选框 Report2 和一个复选框
这是我的看法:
@model GRM_Reports.Models.ReportsModel
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("Index","Report", FormMethod.Post))
{
<table>
<tr style="font-weight:bold">
<td>
Report Name
</td>
<td>
Number Of Rows
</td>
<td>
Number Of Errors
</td>
<td>
Run Report
</td>
</tr>
@foreach (var report in Model.ReportList)
{
<tr>
<td>
@Html.DisplayFor(modeltem => report.ReportName)
</td>
<td>
@Html.DisplayFor(modeltem => report.NumberOfRows)
</td>
<td>
@Html.DisplayFor(modeltem => report.NumberOfErrors)
</td>
<td>
@Html.CheckBoxFor(modeltem => report.checkBox)
</td>
</tr>
}
<tr>
<td colspan="4">
<button type="submit" >Submit Request</button>
</td>
</tr>
</table>
}
当我点击提交按钮时,ReportList 为空。
namespace GRM_Reports.Controllers
{
public class ReportController : Controller
{
public ActionResult Index()
{
var model = new ReportsModel();
Database db = new Database();
DataTable dt = new DataTable();
dt = db.GetReportStatus("1/31/2014");
model.ReportList = new List<Models.Common.Report>();
foreach (DataRow row in dt.Rows)
{
model.ReportList.Add(
new Models.Common.Report()
{ ReportName = row["Report"].ToString(),
NumberOfRows = int.Parse(row["NumberOfRows"].ToString()),
NumberOfErrors = int.Parse(row["NumberOfErrors"].ToString()),
HasData = row["hasData"].ToString()
});
}
return View(model);
}
[HttpPost]
public ActionResult Index(ReportsModel model)
{
foreach (var report in model.ReportList)
{
}
return View();
}
}
}
我觉得这个方法有问题: [HttpPost] public ActionResult Index(ReportsModel模型)
传递给此方法的模型为空。有什么想法吗?
谢谢。
【问题讨论】:
标签: c# asp.net-mvc checkbox