Asp.net 在视图中显示列表,然后将其传递给HttpPost
嗨,这很简单,但不适合我 这是我的视图:Asp.net 在视图中显示列表,然后将其传递给HttpPost,asp.net,asp.net-mvc,asp.net-mvc-4,model-binding,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Model Binding,嗨,这很简单,但不适合我 这是我的视图: @model iLeadsTest.ViewModels.SaveViewModel @using (Html.BeginForm("Save", "Clients", FormMethod.Post)) { <div> <table class="table"> <thead> <tr>
@model iLeadsTest.ViewModels.SaveViewModel
@using (Html.BeginForm("Save", "Clients", FormMethod.Post))
{
<div>
<table class="table">
<thead>
<tr>
<th>Pin Number</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.FileClasses.Count; i++)
{
<tr>
<td>@Html.DisplayFor(m => m.FileClasses[i].PinNumberProperty)
</td>
<td>@Html.DisplayFor(m => m.FileClasses[i].FirstNameProperty)
</td>
<td>@Html.DisplayFor(m => m.FileClasses[i].LastNameProperty)
</td>
</tr>
}
</tbody>
</table>
</div>
@Html.HiddenFor(m=>m.FileName);
<input class="btn btn-primary" type="submit" name="Submit" id="Submit" value="Upload" />
}
public class SaveViewModel
{
public string FileName { get; set; }
public List<Clients> FileClasses { get; set; }
}
@model.ViewModels.SaveViewModel
@使用(Html.BeginForm(“保存”、“客户端”、FormMethod.Post))
{
密码
名字
姓
@对于(int i=0;im.FileClasses[i].PinNumberProperty)
@DisplayFor(m=>m.FileClasses[i].FirstNameProperty)
@DisplayFor(m=>m.FileClasses[i].LastNameProperty)
}
@Html.HiddenFor(m=>m.FileName);
}
我的视图模型:
@model iLeadsTest.ViewModels.SaveViewModel
@using (Html.BeginForm("Save", "Clients", FormMethod.Post))
{
<div>
<table class="table">
<thead>
<tr>
<th>Pin Number</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.FileClasses.Count; i++)
{
<tr>
<td>@Html.DisplayFor(m => m.FileClasses[i].PinNumberProperty)
</td>
<td>@Html.DisplayFor(m => m.FileClasses[i].FirstNameProperty)
</td>
<td>@Html.DisplayFor(m => m.FileClasses[i].LastNameProperty)
</td>
</tr>
}
</tbody>
</table>
</div>
@Html.HiddenFor(m=>m.FileName);
<input class="btn btn-primary" type="submit" name="Submit" id="Submit" value="Upload" />
}
public class SaveViewModel
{
public string FileName { get; set; }
public List<Clients> FileClasses { get; set; }
}
公共类SaveViewModel
{
公共字符串文件名{get;set;}
公共列表文件类{get;set;}
}
为什么当我转到控制器中的方法时,我会得到一个空列表?因为你没有为
客户端的属性创建任何表单控件(而且你也不应该-如果你在POST方法中需要数据,只需从存储库中再次获取数据)@StephenMuecke该数据是从文件提交的,我需要显示它,然后在视图中传递它,然后传递到我的帖子来保存它。不管数据来自哪里。视图中的代码仅显示循环中的项目。它不会将这些内容发布到您的httppost操作中,因为您没有为这些内容生成任何输入字段。从文件中获取是什么意思?您的数据来自了解数据的控制器。生成表单控件将其全部发送到客户端,然后将其全部原封不动地发送回来,这将是毫无意义的额外开销,因为您只是在显示文件类。如果你想发布它,那么你应该使用。