如何使用foreach插入多个下拉选项?

时间:2018-05-09 22:51:12

标签: html asp.net-mvc layout view

快速提问。

我正在尝试添加多行数据,每行都有一个下拉列表到数据库表。例如,我有一个学生列表,并在其名称旁边有一个下拉列表,显示他们在课堂上的分钟数。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 });


    }
  }
}

0 个答案:

没有答案