【发布时间】:2013-05-21 01:35:58
【问题描述】:
有谁知道如何获取下面的 MODELVIEW 模式的 POST 值。我可以将 MenuItem 显示为复选框和单选按钮, 但是当用户提交表单即 POST 时,ModelViewTest 为空。我期待用户选择的菜单项列表。
public class ModelViewTest
{
public IEnumerable<MenuItem> MenuItemList { get; set; } //Will be displayed as listboxes and checkboxes
public Restaurant restaurant {get;set;}
}
动作:
public ActionResult Edit()
{
//some code here
}
return View(new ModelViewTest());
}
[HttpPost]
public ActionResult Edit(ModelViewTest model)
{
//I'm not getting List of MenuItems
return View();
}
MenuItem 类:
public class MenuItem
{
public string MenuItemCode{get;set;}
public string MenuItemDescription{get;set;}
public string UIType {get;set;} //This determines whether it's radio or checkbox
public string UIGroupType {get;set;} //Determines the Group for radio/checkbox.
}
public class Restaurant
{
public string restaurantName{get;set;}
public MenuItem MenuItem{get;set;}
}
更新
请看下面我的查看代码sn-p:
<table>
@foreach (var menu in Model.MenuList)
{
if (menu.UIType == "Radio")
{
<tr>
<td align="left">
<input id="MenuCheckboxRadio" name="@Menus.UIGroup" value="@Menu.MenuItemCode" type="radio" />
<label>@Menu.MenuItemDescription</label>
</td>
</tr>
}
else
{
<tr>
<td align="left">
<input id="MenuCheckbox" name="@Menus.UIGroup" value="@Menus.@MenuItem" type="checkbox" />
<label>@Menu.MenuItemDescription</label>
</td>
</tr>
}
i++;
}
</table>
【问题讨论】:
-
您的视图代码是什么 - 另请注意,如果您包含模型,您在 post 操作中返回的视图只会包含您提交的数据 - 即 return View(model);
-
请贴出 MenuItem 和 Resturant 类的代码
-
嗨 Muhammad 我已经添加了 MenuItem 和餐厅类。请记住,我只是在补课。实际的类要复杂得多。我正在尝试先整理基本内容。
-
什么是“ModelView”模式?你的意思是“ViewModel”模式吗?
-
是的,ViewModel 你知道如何解决我的问题吗?
标签: asp.net-mvc