1
我有具有视图模型产品: ProductViewModelASP.NET MVC视图模型传递到不同的视图模型
private int _id;
private string _name;
private string _type;
private int _selectedID;
public ProductViewModel(int id, string name, string type)
{
_ id = id;
_ name = name;
_ type = type;
}
public int ProductID
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Type
{
get { return _type; }
set { _type = value; }
}
public int Selected
{
get { return _selected; }
set { _selected = value; }
}
而对于显示的产品列表我有另外一个视图模型: ProductListViewModel
private PagedResult<ProductViewModel> _pagedResult;
private string _sortColumn = "Id";
private string _sortOrder = "ASC";
public LostAssetsListViewModel(PagedResult<ProductViewModel> products)
{
_pagedResult = products;
}
public PagedResult<ProductViewModel> List
{
get { return _pagedResult; }
set { _pagedResult = value; }
}
public string SortColumn
{
get { return _sortColumn; }
set { _sortColumn = value; }
}
public string SortOrder
{
get { return _sortOrder; }
set { _sortOrder = value; }
}
在我的View中,我使用Product LisViewModel来显示产品列表。并在每一个产品,我想添加单选按钮(选择该产品)
<% = Html.RadioButtonFor(m => m.List[i].Selected, "false", Model.List[i]. ProductID)%>
为了得到在我的控制器中的所有数据,我创建ProductInputModel:
ProductInputModel
private int _id;
private string _name;
private string _type;
private int _selectedID;
public ProductInputModel(int id, string name, string type)
{
_ id = id;
_ name = name;
_ type = type;
}
public int ProductID
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Type
{
get { return _type; }
set { _type = value; }
}
public int Selected
{
get { return _selected; }
set { _selected = value; }
}
在我的控制器输入为空: [HttpPost] public ActionResult Details(ProductInputModel input) {}
我无法弄清楚ProductViewModel中的whydata没有传递给ProductInputModel。我应该如何通过ViewModels获得所选产品?
我为我的ProductInputModel(public ProductInputModel(){})做了空的构造函数,它没有工作(我得到的错误没有为此对象定义的无参数构造函数)。然后,我也为ProductViewModel和ProductListViewModel创建了无参数构造函数,但仍然得到相同的错误..任何其他建议? – intentarr 2013-03-07 12:13:24
您在视图模型的对象层次结构中使用的每个视图模型(控制器操作所采用的参数)都必须具有无参数构造函数。所以如果你得到这个错误,最可能意味着你忘记了某种类型。 – 2013-03-07 13:33:18