快速提问。
我正在尝试添加多行数据,每行都有一个下拉列表到数据库表。例如,我有一个学生列表,并在其名称旁边有一个下拉列表,显示他们在课堂上的分钟数。Example Here
我的问题是我有一个foreach循环,它从存储过程中检索我的学生。我在stackoverflow上找到了一些有用的提示,但没有什么能帮助foreach循环。如果我将“插入”按钮放在foreach中,那么它将起作用,但每行上都会有一个“插入”按钮。我只想要一个“插入”按钮,就像示例一样,输入我所有的下拉选项。有什么想法指出我正确的方向?
这是视图
<div class="table-responsive">
<div style="margin-top:20px;">
<table id="tablereport" class="table table-striped table-bordered table-hover table-condensed">
<thead style="background-color:black; font-weight:bold; color:aliceblue">
<tr>
</thead>
<thead style="background-color:black; font-weight:bold; color:aliceblue">
<tr>
<th>ClassID</th>
<th>SID</th>
<th>FullName</th>
<th>Minutes</th>
</tr>
</thead>
<tbody>
@{
foreach (System.Data.DataRow dr in ViewBag.general.Rows)
{
<tr>
@using (Html.BeginForm("Index", "Minutes", new { ClassID = dr["ClassID"], SID = dr["SID"], FullName = dr["FullName"] }))
{
<td>@dr["ClassID"]</td>
<td>@dr["SID"]</td>
<td>@dr["FullName"]</td>
<td>
@Html.DropDownList("Minutes", new List<SelectListItem>
{
new SelectListItem{ Text="50", Value = "50" },
new SelectListItem{ Text="40", Value = "40" },
new SelectListItem{ Text="30", Value = "30" },
new SelectListItem{ Text="20", Value = "20" },
new SelectListItem{ Text="10", Value = "10" },
})
</td>
}
</tr>
}
}
</tbody>
</table>
<div>
<input type="submit" id="formsubmit" name="submit" value="Insert" class="btn btn-default">
</div>
</div>
这是我的控制器
public class MinutesController : Controller
{
// GET: Minutes
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(ClassModel m)
{
var pClassID = m.ClassID;
var pSID = m.SID;
var pFullName = m.FullName;
var pMinutes = m.Minutes;
new DB().InsertMinutes(m.ClassID, m.Minutes, m.SID, m.FullName);
return RedirectToAction("Index", "Minutes", new {ClassID = pClassID, Minutes = pMinutes, SID = pSID, FullName = pFullName });
}
}
}