有没有比我目前在这里做的更好的方法: MVC Controller操作创建一个选择列表:
ProductsDDL.Select(rp => new SelectListItem
{ Value = Model.RawMaterialID.ToString() + "," + plant, Text = Model.FinishedProductName });
And HTML rendered as:
<select id="Products" name="Products">
<option value="3,PLANT1">Finished Product1</option>
<option value="4,PLANT2">Finished Product2</option>
<option value="7,PLANT3">Finished Product3</option>
</select>
在选择更改时,我使用Jquery $ .GetJSON来填充另一个下拉列表。我将PlantID与RawMaterialID结合的原因是为了避免长查询处理时间。 在Post to action(字符串RawIDPlantID)上,我使用Split(',')来获取RewMaterialID&amp; PlantID
其他选项是使用session来保存PlantID或在MVC视图中输入隐藏字段。
答案 0 :(得分:1)
我通常不会使用逗号作为表示单个实体的值的分隔符,并保存逗号分隔多个ID的列表。在像你这样的情况下,我最终使用下划线。然后,如果我需要用逗号分隔ID列表,那么眼睛和解析都会更容易。但作为开发者,这完全是主观的,取决于你。
例如
3_PLANT1,4_PLANT2,7_PLANT3
更容易注视
3,PLANT1,4,PLANT2,7,PLANT3
这就像我对你的代码所能得到的批评一样多。我使用的其余部分,并在过去使用过。