【发布时间】:2018-01-01 08:00:03
【问题描述】:
查看
@if (weekMaster != null)
{
using (Html.BeginForm("UpdatePlan", "generalPlan", FormMethod.Post, new { }))
{
<table class="table-bordered">
<tr>
@foreach (TermMaster obj in weekMaster.ToList())
{
<td align="center">
<span> @obj.termStartDate.ToString("dd MMM") - @obj.termEndDate.ToString("dd MMM")</span>
<br />
<input type="hidden" name="ObjHid" value="@obj" />
<input type="hidden" name="startDate" value="@obj.termStartDate" />
<input type="hidden" name="endDate" value="@obj.termEndDate" />
<input type="text" style="width:80%" name="weekSession" />
</td>
}
<td>
<input type="submit" value="Update" class="btn-primary" />
</td>
</tr>
</table>
} }
控制器
[HttpPost]
public ActionResult UpdatePlan(List<DateTime> startDate, List<DateTime> endDate, List<int> weekSession, List<TermMaster> ObjHid)
{
return View();
}
我正在尝试使用输入法 <input type="hidden" name="ObjHid" value="@obj" /> 将 Class Object from View to Controller 传递到 TermMaster 类对象传递之上,但如果传递像 startDate 和 endDate 这样的单个值,则显示 NULL 值,那么它可以正常工作。
我的代码有什么问题?如何在 Post 方法中传递类对象列表?
【问题讨论】:
-
建议你参考this answer
-
但是通过尝试发回您甚至没有编辑的
TermMaster集合来降低应用程序的性能有什么意义 -
@StephenMuecke 在 post 方法中我正在插入一些带有文本框值的参数值,因为我需要来自 TermMaster 的一些值
-
对不起,这没有意义。你是说
TermMaster有一个与<input type="text" .../>相关的属性吗?并阅读链接以了解如何为集合生成视图。
标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-5