0
假设我在一个视图模型已通过与多个地址如何使用TextBoxFor更新
我期待写一个视图像这样(简体)
一个人记录的关系的许多方面<% foreach (var addr in Model.PERSON.ADDRESSES) { %>
<li>
<%: Html.TextBoxFor(m => addr.Add1)%>
</li>
<% } %>
然而,每个生成的Textbox都具有相同的ID和Name属性,并且毫不奇怪,控制器代码无法对模型进行任何更新。
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
MyViewModel viewmodel = GenerateViewModel(id);
try
{
UpdateModel(viewmodel);
_MyRepository.Save();
return View(viewmodel);
}
catch
{
return View(viewmodel);
}
}
我在猜测我正在讨论这个错误的方法:任何线索将不胜感激!
这几乎是正确的。我认为你的第一个ActionResult应该是Edit()?因此,我得到控制呈现与似是而非的名字 - PERSON.ADDRESSES [1] .Street但试图保存时出现错误 System.InvalidOperationException未处理用户代码 消息= EntityCollection已被初始化。只应调用InitializeRelatedCollection方法来在对象图的反序列化过程中初始化新的EntityCollection。 (from myModel.Designer.cs EntityCollection
ADDRESSES setter) – Andiih 2010-07-13 09:13:05我的错误也在这里解决stackoverflow.com/questions/1064998/...我有一个类似的viewmodel实体图和一些下拉列表。可悲的是,没有发布的解决方案似乎工作(对我或OP) – Andiih 2010-07-13 13:23:54