不知道有人能指點我正確的方向嗎?通過'列表'模型進出視圖
基本上我正在嘗試創建一個頁面,允許某人輸入數據(高爾夫)的數量(18)的洞,基本上我不確定它是如何完成的。
在我已經創建了以下模型:
namespace BGSociety.Models
{
public class CreateCourseHolesViewModel
{
public int holeNumber { get; set; }
public int par { get; set; }
public int si { get; set; }
public int distance { get; set; }
}
}
在控制器我已經得到的指數事件:
TempData的[ 「孔」] = getHoles();
protected List<CreateCourseHolesViewModel> getHoles()
{
var holes = new List<CreateCourseHolesViewModel>();
for (int i =1; i < 19; i++)
{
holes.Add(new CreateCourseHolesViewModel { holeNumber = i });
}
return holes;
}
而我穿入視圖此:
返回PartialView( 「CreateCourseHoles」,TempData的[ 「孔」]);
在視圖中,我可以遍歷列表並顯示整個數字,每個數字旁邊都有一個文本框,以允許輸入par,si和distance。
var zHoles = TempData["holes"] as IEnumerable<BGSociety.Models.CreateCourseHolesViewModel>;
foreach (var hole in zHoles)
{
<div class="row">
<div class="col-sm-1">
<p>@hole.holeNumber</p>
</div>
<div class="col-sm-6">
<div class="form-group">
<div class="col-xs-12">
@Html.ValidationMessageFor(m => hole.par)
@Html.TextBox("par", TempData["par"], new { @class = "form-control", placeholder = "Par", name = "Par" })
</div>
</div>
</div>
</div>
}
但我不能工作,如何回傳給這個人口稠密的列表控制器爲我的數據輸入到數據庫中。
我錯過了一個很好的機會(!),但如果有人可以騰出幾分鐘的時間來提供幫助,那將是非常棒的!
感謝, SX
首先,你不能使用一個'foreach'循環來生成收集項目的表單控件(參考[這個答案](http://stackoverflow.com/questions/30094047/html-table-to-ado-net-datatable/30094943#30094943)) )。但是你做的其他事情沒有任何意義。並且不要使用'TempData',在你獲得方法的時候,你初始化你的集合並將它傳遞給視圖。 –