从下拉列表中选择的属性,我的模型中是否应同时包含文本和值

米卡伊尔·阿卜杜勒拉耶夫(Mikayil Abdullayev)

在ASP.NET MVC应用程序中,我有一个名为CarSearchCriteria的模型:

public class CarSearchCriteria{
   public int CarMake {get;set;} // This is selected from a dropdownlist
   public int YearOfFirstReg {get;set;}
   public string ModelVariant {get;set}      

}

我有两种视图-一种用于编辑,另一种用于查看。在CarMake属性的编辑视图中,我可以执行以下操作。我知道我可以使用DropDownListFor,但暂时不希望与SelectList混淆:

<select name="CarMake">
  <option value="1">BMW</option>
  <option value="2">Mercedes</option>
  <option value="3">Toyota</option>
</select>

因此,模型绑定机制将轻松地将所选值绑定到适当的模型属性。但是阅读模式呢?我不能显示1或2。我需要展示宝马,奔驰等。我的问题是首选的方法是什么,我必须拥有一个包含实际文本信息的属性名称,例如CarMakeText吗?

米卡伊尔·阿卜杜勒拉耶夫(Mikayil Abdullayev)

David的解决方案很好,但是由于某种原因,我找到了自己的解决方案来更好地满足自己的需求,此外,我发现它更优雅。因此,基本上我要做的就是创建一个类,其中包含仅保留ID的所有属性的文本描述。例如,我有以下模型:

 public class EmployeeModel{
    public int EmployeeID {get;set;}
    public string FullName {get;set}
    *public int DepartmentID {get;set}
    *public int SpecialityID {get;set;}
    public int Age {get;set;}
 }

标有星号的属性是保留可能的许多预定义选项ID的属性,在显示时,我们应该显示实际的描述,而不是数字表示。为此,我们创建一个单独的类:

public class EmployeeTextValues{
    public string DepartmentName {get;set;}
    public string SpecialityName {get;set;}
}

然后,我将这个类作为属性添加到我的模型中:

public EmployeeTextValues TextValues {get;set;}

之后,可以从任何地方(包括Razor)轻松访问它。

附言:我敢肯定,在初始化此属性之前,很多人会倾向于执行以下操作:

 Employee emp=new Employee;
 emp.Age=25;
 emp.TextValues.DepartmentName="Engineering";// Don't do this

如果您尝试访问或设置Textvalues.Someproperty,则会得到Object reference not set to an instance of an object因此,不要忘记先将TextValues设置为某些初始化的对象。只是一个提醒,仅此而已。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从下拉列表中选择值和选择项

来自分类Dev

铅从下拉列表中选择文本

来自分类Dev

AngularJs:从下拉列表中选择值

来自分类Dev

无法从下拉列表中选择值

来自分类Dev

无法从下拉列表中选择值

来自分类Dev

从下拉列表中选择多个值

来自分类Dev

用户从下拉列表中选择值时如何在文本字段中显示数据库值

来自分类Dev

从下拉列表中的值拆分文本和整数

来自分类Dev

缩小的JQuery 1.9.0无法从下拉列表中选择文本或值吗?

来自分类Dev

如何在从下拉列表 html 中选择值时使文本字段只读

来自分类Dev

Autocompletetextview仅从下拉列表中选择文本

来自分类Dev

当检查是否从下拉列表中选择了值时,它将退出页面

来自分类Dev

从下拉列表中选择的选项将填充另一个文本框/下拉列表中的更改值

来自分类Dev

从下拉列表中选择项目,从列表中删除项目作为值,然后更新总计

来自分类Dev

如何从下拉列表中显示关联的值(从列表中选择后)?

来自分类Dev

根据从下拉列表中选择的值来填充数据库中的表单值

来自分类Dev

使用 python 和 selenium 从下拉列表中选择某个值

来自分类Dev

如何从下拉列表中选择的值填充JavaScript数组?

来自分类Dev

从下拉列表中选择一个值

来自分类Dev

如何从下拉列表中选择的值填充JavaScript数组?

来自分类Dev

从下拉列表中选择后无法显示值

来自分类Dev

根据从下拉列表中选择的值显示相关记录

来自分类Dev

Selenium Python无法从下拉列表中选择值,但是我可以单击它以打开下拉列表

来自分类Dev

从下拉列表中选择的值在Android中不起作用

来自分类Dev

如果从下拉列表中选择最大值,则分页器模板将从Gridview中消失

来自分类Dev

无法使用 Flask 从下拉列表中获取在 python 中选择的值

来自分类Dev

使用 selenium webdriver 从文件中获取值并从下拉列表中选择相同的值

来自分类Dev

用户从下拉列表框中选择选项后,如何获取新选择的值和旧的值?

来自分类Dev

从下拉列表中未选择任何值时,将模型状态设置为false

Related 相关文章

  1. 1

    从下拉列表中选择值和选择项

  2. 2

    铅从下拉列表中选择文本

  3. 3

    AngularJs:从下拉列表中选择值

  4. 4

    无法从下拉列表中选择值

  5. 5

    无法从下拉列表中选择值

  6. 6

    从下拉列表中选择多个值

  7. 7

    用户从下拉列表中选择值时如何在文本字段中显示数据库值

  8. 8

    从下拉列表中的值拆分文本和整数

  9. 9

    缩小的JQuery 1.9.0无法从下拉列表中选择文本或值吗?

  10. 10

    如何在从下拉列表 html 中选择值时使文本字段只读

  11. 11

    Autocompletetextview仅从下拉列表中选择文本

  12. 12

    当检查是否从下拉列表中选择了值时,它将退出页面

  13. 13

    从下拉列表中选择的选项将填充另一个文本框/下拉列表中的更改值

  14. 14

    从下拉列表中选择项目,从列表中删除项目作为值,然后更新总计

  15. 15

    如何从下拉列表中显示关联的值(从列表中选择后)?

  16. 16

    根据从下拉列表中选择的值来填充数据库中的表单值

  17. 17

    使用 python 和 selenium 从下拉列表中选择某个值

  18. 18

    如何从下拉列表中选择的值填充JavaScript数组?

  19. 19

    从下拉列表中选择一个值

  20. 20

    如何从下拉列表中选择的值填充JavaScript数组?

  21. 21

    从下拉列表中选择后无法显示值

  22. 22

    根据从下拉列表中选择的值显示相关记录

  23. 23

    Selenium Python无法从下拉列表中选择值,但是我可以单击它以打开下拉列表

  24. 24

    从下拉列表中选择的值在Android中不起作用

  25. 25

    如果从下拉列表中选择最大值,则分页器模板将从Gridview中消失

  26. 26

    无法使用 Flask 从下拉列表中获取在 python 中选择的值

  27. 27

    使用 selenium webdriver 从文件中获取值并从下拉列表中选择相同的值

  28. 28

    用户从下拉列表框中选择选项后,如何获取新选择的值和旧的值?

  29. 29

    从下拉列表中未选择任何值时,将模型状态设置为false

热门标签

归档