使用现有的基于MVC的应用程序,有一个产品视图,其中ViewModel为ProductViewModel,此ViewModel具有Product可以具有的所有基本属性,如产品名称,类型,价格等....
在此视图中使用此产品创建流程,目标是将客户列表与产品关联(这不是修订)。
要检索用户列表以便用户选择那些关联的客户,目前在按钮单击时,有一个ajax调用(getCustomers)请求控制器操作获取列表&将它与复选框一起显示在一个表中,这个html在jQuery Ajax调用中即时创建,
使用当前实现时,在制作产品视图的POST操作时,选定的ID不会在视图模型中填充。
目标是将选定的客户ID以及产品详细信息添加到ViewModel中。
有没有办法这样做?
答案 0 :(得分:0)
我会尝试以我理解的最佳方式回答它。所以,假设你创建了带有复选框的'table',我想这看起来像这样:
<form>
<table>
<tr><td><input type='checkbox' value='1' name='myCheckbox' />Some text</td></tr>
<tr><td><input type='checkbox' value='2' name='myCheckbox' />Some text</td></tr>
<tr><td><input type='checkbox' value='3' name='myCheckbox' />Some text</td></tr>
<tr><td><input type='checkbox' value='4' name='myCheckbox' />Some text</td></tr>
</table>
<input type="submit" />
</form>
在ProductModel类中:
public class ProductModel
{
// Define the property here.
public int[] MyCheckbox { get; set; }
// The constructor where you do the initialization
public void ProductModel(int[] myCheckbox)
{
MyCheckbox = myCheckbox;
}
}
在您的控制器方法中:
[HttpPost]
public ActionResult SomeMethod(ProductModel productModel)
{
foreach(int value in productModel.MyCheckbox)
{
// Your code here..
}
}
您将在控制器方法中将复选框的值作为数组获取。