1
我已經查看了大部分可用於SO和谷歌相關的幫助,但我不確定我在做什麼錯誤。MVC綁定具有值列表的複雜對象
我有一些屬性的模型,其中一個屬性是另一個複雜對象的列表。我無法綁定這個列表!
請大家幫忙!
這裏是我的模型類相關:
public class PrivacyModel
{
public int RatingId { get; set; }
public List<RatingPoint> RatingPoints { get; set; }
}
public class RatingPoint
{
public int RatingItemId { get; set; }
public string RatingValue { get; set; }
}
這裏是我的代碼:
[HttpPost]
public ActionResult Index(PrivacyModel model)
{
.... my business logic....
}
我的看法是這樣的:
@using (Html.BeginForm("Index", "Privacy"))
{
<input type="hidden" name="RatingId" value="@Model.RatingId" />
for (var i = 0; i < Model.RatingPoints.Count; i++)
{
var ratingPoint = Model.RatingPoints[i];
<input type="hidden" name="PrivacyModel.RatingPoints[@i].RatingItemId" value="@ratingPoint.RatingItemId" />
<input type="hidden" name="PrivacyModel.RatingPoints[@i].RatingValue" @("id=RatingPoints" + ratingPoint.RatingItemId) value="@ratingPoint.RatingValue" />
}
<input class="btn" type="submit" value="Submit" />
}
請不要介意價值和ID字段,他們正在更新jQuery正確地在我的頁面的某個地方。
這引起了我的RatingPoints
空單在我的行動
我在PrivacyModel.RatingPoints[@i].
也試過不帶前綴PrivacyModel
,但是這讓我的RatingPoints
列表爲空在我的行動
我也曾嘗試在建議的解決方案here使用索引像非連續的項目
始終使用強類型的HtmlHelper方法來生成您的html。 - '@ Html.HiddenFor(m => m.RatingPoints [i] .RatingItemId)' - 現在檢查它生成的正確的名稱屬性:) –
我會嘗試,也建議[Ehsans](http:// stackoverflow.com/questions/36623290/mvc-binding-complex-objects-with-list-of-values/#answer-36623484)回答如下 – simsim