【发布时间】:2020-05-22 19:43:55
【问题描述】:
我有多个 attr 的 selectList,通过级联填充(在选择一家公司时,我只显示选定的公司模型)现在我想允许用户选择多个模型,以便在选择时,项目应添加到 c# 列表中并显示在页面,然后允许用户选择更多任何其他公司。附图片 以下是我的代码。 OrderViewModel
public class OrderViewModel
{
[Display(Name ="Order ID")]
public int order_id { get; set; }
[Required]
public string cus_name { get; set; }
public string cus_phone { get; set; }
public System.DateTime Date { get; set; }
[DataType(DataType.Date)]
public System.DateTime Date { get; set; }
public int Amount { get; set; }
public List<Products> Products { get; set; }
}
我想在 OrderViewModel 的“产品”列表中绑定选定的项目,该项目将与更多字段一起发送到服务器。 产品
public class Products
{
public int id { get; set; }
public int modelId { get; set; }
public int Phoneid { get; set; }
public int Quantity { get; set; }
public double price { get; set; }
public bool isSelected { get; set; }
public int order_id { get; set; }
}
剃刀视图
<div class="form-group row">
<label class="control-label col-6">Company Name</label>
<div class="col-12">
<select id="CompanyId" class="custom-select mr-sm-2"
asp-items="@(new SelectList( @ViewBag.Companies,"Phoneid","Com_name"))">
<option value="">Please Select</option>
</select>
</div>
<span class="text-danger"></span>
</div>
<div class="form-group row">
<label class="control-label col-6"></label>
<div class="col-12">
<select id="modelId" multiple class="custom-select mr-sm-2"
asp-items="@(new SelectList(string.Empty,"modelId","model_name","--Select--"))">
<option value="">Please Select</option>
</select>
</div>
<span class="text-danger"></span>
</div>
我还没有尝试在列表中添加项目
<script>
$("#modelId").change(function () {
var list = @(Model.Products);
let item = $(this).children("option:selected").val();
list.forEach(x => {
if (x.modelId != item) {
@{
Products products = new Products()
{
isSelected=true,
modelId= item,
};
Model.Products.Add(products);
}
}
});
})
@for (int i = 0; i < Model.Products.Count; i++)
{
}
</script>
我现在通过部分视图显示所有选定的产品,我只想将这些选定的产品连同每个产品的数量和价格发送到服务器
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-core razorengine