我的viewmodel有一个名为Recipient的属性。这有一个名为MobileNumber的属性
我在MVC 2中尝试这个:
UpdateModel(viewmodel, new[] { "Recipient_MobileNumber" }); // I expected this to work
我也试过“Recipient.MobileNumber”
答案 0 :(得分:1)
尝试:
UpdateModel(viewmodel.Recipient, new[] { "MobileNumber" });
您的问题是您使用字符串[]包含作为视图数据表达式,假设在对象图形周围跳转以模拟绑定您需要的内容。
UpdateModel无法正常工作。这些字符串只是用作属性的过滤器。
答案 1 :(得分:0)
我认为是这样的:
public ActionResult Edit(int id /* id of recipient? */, FormCollection formValues)
{
var viewmodel = GetViewModel(id);
viewmodel.Recipient.ModileNumber = formValues["Recipient.MobileNumber"];
}