Asp.net mvc 3 如何在ASP.NET MVC 3中获取视图模型中的下拉列表SelectedItem文本

Asp.net mvc 3 如何在ASP.NET MVC 3中获取视图模型中的下拉列表SelectedItem文本,asp.net-mvc-3,razor-2,Asp.net Mvc 3,Razor 2,这是我在ASP.NET MVC3应用程序中的Razor视图 @Html.DropDownListFor(m => m.Leave_Type, Model.Leave_Types, new { @class = "input-append" }) 在POST上,当我读取Model.LeaveType时,它返回所选值。我想取而代之的是所选文本,如何取而代之?谢谢你的帮助。提前多谢 答案是。。视情况而定。下拉列表只是一个标准的HTML下拉控件,它只能发布选定的值。它永远不会发布文本,也没有办法

这是我在ASP.NET MVC3应用程序中的Razor视图

@Html.DropDownListFor(m => m.Leave_Type, Model.Leave_Types, new { @class = "input-append" })

在POST上,当我读取Model.LeaveType时,它返回所选值。我想取而代之的是所选文本,如何取而代之?谢谢你的帮助。提前多谢

答案是。。视情况而定。下拉列表只是一个标准的HTML下拉控件,它只能发布选定的值。它永远不会发布文本,也没有办法改变这一点

您还需要所选的值吗?如果是这样的话,你就不能两个都这样。您必须根据返回的选定值在Leave_Types对象中查找Leave_Type文本

如果您不需要Leave_类型,那么您可以简单地将文本用于值和文本

另一个选项可能是编写一些javascript,每当下拉列表的值更改时,将所选项目文本复制到隐藏字段。然后,隐藏字段将被发布,您可以检查它


不过,我只需使用创建Leave_Types集合时使用的任何方法来查找值。

谢谢@Mystere-Man:没错,我交换了文本和值,它符合我的要求。