2011-01-19 63 views
1

MVC下拉选项的值是否有任何比我目前在这里做什么更好的方法: MVC控制器操作创建一个选择列表为:设置为用逗号分隔值

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来填充另一个下拉列表。我使用RawMaterialID来简化PlantID的原因是避免了很长的查询处理时间。 论后行动(字符串RawIDPlantID),我用斯普利特(“”),以获得RewMaterialID & PlantID

其他选择是使用会话持有PlantID或输入隐藏字段中的MVC视图。

回答

1

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

例如

3_PLANT1,4_PLANT2,7_PLANT3 

更容易眼球

3,PLANT1,4,PLANT2,7,PLANT3 

,那就是尽可能多的批评,因为我能鼓起你的代码。其余的我会使用,并在过去使用。

+0

这有帮助。非常感谢 – mxasim 2011-01-19 20:37:55