MVC DropDown选项值设置为多个逗号分隔值

时间:2011-01-19 17:23:25

标签: asp.net-mvc asp.net-mvc-2

有没有比我目前在这里做的更好的方法: 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视图中输入隐藏字段。

1 个答案:

答案 0 :(得分:1)

我通常不会使用逗号作为表示单个实体的值的分隔符,并保存逗号分隔多个ID的列表。在像你这样的情况下,我最终使用下划线。然后,如果我需要用逗号分隔ID列表,那么眼睛和解析都会更容易。但作为开发者,这完全是主观的,取决于你。

例如

3_PLANT1,4_PLANT2,7_PLANT3

更容易注视

3,PLANT1,4,PLANT2,7,PLANT3

这就像我对你的代码所能得到的批评一样多。我使用的其余部分,并在过去使用过。