ASP.NET MVC视图需要将选定的下拉列表和日历日期传递给模型

问题描述 投票:0回答:1

我正在尝试通过控制器中的存储过程将模型传递回控制器以进行大量更新。需要传递回控制器的两个关键值是从视图中选择的下拉菜单和日历日期。模型中有一些字段可以存储信息,但是我无法弄清楚如何填充模型中的值。

这是当前代码:

<div>
    <a href="#" id="addNew">Add New</a>
</div>
<p>
        PlantArea: @Html.DropDownList("PlantArea", " ")
        EntryDate: @Html.TextBox("EntryDate", @DateTime.Now.ToShortDateString(), new { id = "Calendar", @class = "datepicker" })
        <input type="submit" value="Load Daily Entries" />
        <br /> <br />
    </p>
    <table id="dataTable" border="0" cellpadding="0" cellspacing="0">
        <tr>
            <th>Employee Id</th>
            <th>Employee Name</th>
            <th>Status Reason</th>
            <th>HR Comment</th>
        </tr>
        @if (Model != null && Model.Count > 0)
            {
                int j = 0;
                foreach (var i in Model)
                {
                <tr style="border:1px solid black">
                    <td>@Html.TextBoxFor(a => a[j].EmployeeId)</td>
                    <td>@Html.TextBoxFor(a => a[j].Preferred_Name)</td>
                    <td>@Html.TextBoxFor(a => a[j].Entry_Code, new { @Value = ViewBag.DefaultAttendanceCode })</td>
                    <td>@Html.TextBoxFor(a => a[j].HR_Comment)</td>
                    <td>>@Html.TextBoxFor(a => a[j].EntryDate, new { @Value = EntryDate})</td>
                    <td>>@Html.TextBoxFor(a => a[j].Entry_Code, new { @Value = PlantArea })</td>
                    <td>
                        @if (j > 0)
                        {
                            <a href="#" class="remove">Remove</a>
                        }
                    </td>
                </tr>
c# asp.net-mvc view insert mass
1个回答
0
投票

您可以将模型绑定更改为紧密耦合。表示您可以将该控件绑定到模型值像@ Html.TextBoxFor(m => m.entrydate)@ Html.DropDownListFor(m => m.plantarea)

其中输入日期和植物面积均应为模型中的属性。并将控件放置在表单元素中,您可以在提交时获得控件中的值。

否则,将两个隐藏的文本框放在UI中,并在这些隐藏的字段中填充下拉列表和日期值。然后使用隐藏字段获取值

© www.soinside.com 2019 - 2024. All rights reserved.