当我尝试将IEnumerable从razor视图发布到Controllor操作方法时,我遇到了问题。如果我使用List,结果也是一样的。 我也在评论中发布了我的控制器动作方法。在我的控制器动作方法中,我得到的列表是空的。
这是我的观点:
df.DrankCoffee.replace({'no':1,'forgot':0,'yes':0}).groupby((df.DrankCoffee=='yes').cumsum()).cumsum()
Out[111]:
0 1
1 2
2 2
3 0
4 1
5 2
6 3
7 4
8 5
9 0
10 1
Name: DrankCoffee, dtype: int64
这是我的控制器:
@model IEnumerable<Subject>
<form asp-action="AddNewSubjects" asp-controller="Teacher" method="post" role="form" class="form-horizontal">
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Number of class</th>
<th>Level</th>
</tr>
</thead>
<tbody>
@if (Model != null)
{
var item = Model.ToList();
@for(int i=0;i<Model.Count();i++)
{
<tr>
<td>@item[i].ID</td>
<td>@item[i].Name</td>
<td>@item[i].ClassNumber</td>
<td>@item[i].Level</td>
</tr>
}
}
</tbody>
</table>
<div class="form-group">
<div class="col-md-offset-2 col-md-5">
<input type="submit" class="btn btn-primary" value="Save all subjects" />
</div>
</div>
</form>
答案 0 :(得分:0)
我不知道你在这里尝试做什么。除了提交按钮之外,您的表单没有任何输入元素。当然,你没有看到任何回复的内容。
@model IEnumerable<Subject>
<form>
...
<tbody>
@for(int i = 0; i < Model.Count(); i++)
{
<tr>
<td>
<input type="hidden" asp-for="Model[i].ID" />
</td>
<td>
<input type="text" asp-for="Model[i].Name" />
</td>
...
</tr>
}
</tbody>
...
</form>
为什么?