1
我有一個局部視圖:數據是NULL
@model BasicFinanceUI.Models.TransactionLine
<div class="form-group">
<label for="cmbCategory0" class="col-lg-1 control-label">Category:</label>
<div class="col-lg-3">
@Html.DropDownListFor(x => x.CategoryId,
new SelectList(Model.References.Categories, "Value", "Text", Model.CategoryId), "Select one",
new { @onchange = "populateSubCategory(0)", @class = "cmbCategory form-control" })
</div>
</div>
這種部分視圖是從對象的List <>裝載在我的主視圖:
@foreach (var line in Model.Transaction.TransactionLines)
{
@Html.Partial("_TransactionLine", line)
}
局部視圖( s)加載正確,數據正確。
但是,當我想保存數據 - 看起來我的列表有一行,但行中沒有數據。我是部分視圖的新手,但似乎MVC不會將部分視圖數據映射到創建部分視圖列表的列表<>。
我做錯了什麼?
在控制器中,當我試圖將數據讀入我的對象送他們回數據庫,我這樣做:
item.TransactionLines = new List<TransactionLineDto>();
foreach (var line in model.Transaction.TransactionLines)
{
item.TransactionLines.Add(new TransactionLineDto
{
Id = line.Id,
CostCentreId = line.CostCentreId,
SubCategoryId = line.SubCategoryId,
TransactionId = model.Transaction.Id,
Amount = line.Amount
});
}
但是,我所發現的是,所有的值都是0.看起來局部視圖不會將數據返回到視圖的模型。這是預期的行爲,還是我做錯了什麼?
我試過'部分'和'渲染部分'。不知道爲什麼是正確的,因爲它們都導致同樣的問題。
謝謝。我現在就這樣做了....任何想法,如果我還可以更改'label for =「中的名稱?需要將計數器號碼附加到名稱上,所以,「cmbCategory1 ... 2,... 3 ... etc – Craig
@Craig你可以試試嗎?'' –