Linq ViewModel中的空值
我有一个ViewModel(StoreViewModel)。当我从视图到控制器(Post)获取VM中的值时,一些值为null,只有视图上显示的一些值不是null 请帮帮我Linq ViewModel中的空值,linq,asp.net-mvc-2,viewmodel,Linq,Asp.net Mvc 2,Viewmodel,我有一个ViewModel(StoreViewModel)。当我从视图到控制器(Post)获取VM中的值时,一些值为null,只有视图上显示的一些值不是null 请帮帮我 public class StoreViewModel { public StoreViewModel() { } public Store Store { get; set; } public List<Member> Members { get;
public class StoreViewModel
{
public StoreViewModel() { }
public Store Store { get; set; }
public List<Member> Members { get; set; }
public List<Order> Orders { get; set; }
public List<AccountPayable> AccountsPayable { get; set; }
}
您应该确保该值实际存在于POST请求中。您得到的
null
这一事实强烈表明情况并非如此。您可以使用查看将哪些值发布到服务器
此外,从我所看到的情况来看,您的表单只包含存储名称和状态文本字段,因此这些是您希望在POST操作中返回的唯一值:
<% using(Html.BeginForm()) {%>
<div><%: Html.TextBoxFor(model => model.Store.Name) %></div>
<div><%: Html.TextBoxFor(model => model.Store.State) %></div>
<div><input type="submit" value="Submit" /></div>
<% } %>
你能给我们看一下你的控制器代码吗?
[HttpPost]
public ActionResult Details(Finger finger, StoreViewModel storeVM)
{
//if (finger.roleName != "Administrator")
// return RedirectToAction("DisplayNotice", "Notice");
storeVM.Store.Active = (CheckBoxHelpers.GetValue(storeVM.Store.Active)).ToString();
if (ModelState.IsValid)
{
storesRep.SaveStore(storeVM.Store, true);
}
else
{
return View(storeVM);
}
return RedirectToAction("List", "Stores");
}
<% using(Html.BeginForm()) {%>
<div><%: Html.TextBoxFor(model => model.Store.Name) %></div>
<div><%: Html.TextBoxFor(model => model.Store.State) %></div>
<div><input type="submit" value="Submit" /></div>
<% } %>
<%: Html.HiddenFieldFor(model => model.Store.Active) %>