Asp.net mvc 从MVC下拉列表中获取文本

Asp.net mvc 从MVC下拉列表中获取文本,asp.net-mvc,knockout.js,Asp.net Mvc,Knockout.js,我有一个从服务器填充的MVC下拉列表。像这样 @Html.DropDownList("ddlContent", Enumerable.Empty<SelectListItem>(), "<Select Message>", new { @class = "form-control", data_bind = "value: messageTitle" }) 我只通过这种方式接收一个int值,我需要的是下拉列表中选定的文本 我还有另一个列表,我正在尝试同样的事情,看起来

我有一个从服务器填充的MVC下拉列表。像这样

 @Html.DropDownList("ddlContent", Enumerable.Empty<SelectListItem>(), "<Select Message>", new { @class = "form-control", data_bind = "value: messageTitle" })
我只通过这种方式接收一个int值,我需要的是下拉列表中选定的文本

我还有另一个列表,我正在尝试同样的事情,看起来是这样的

 @Html.DropDownListFor(model => model.EblastSubject, new SelectList(Model.ListEblastSubject, "SubjectID", "Subject"), "<Select Subject>", new { @class = "form-control", data_bind = "value: eblastSubject" })

但不是所选文本

可观察者应拾取文本。试试这个:

控制器

var items = new [] { "one", "two", "three" };
ViewBag.MyList = new SelectList(items);
看法


谢谢,但不要掷骰子。我得到的值是所选项目的Id,我需要所选文本。诀窍在于
s不具有
属性。如果这样做,KO将拾取文本,就像上面的示例一样,在另一个列表中,输入的是subject,然后是subject,我需要subject的值,例如value:i[1]。MessageTitle如果您想要所选文本,正如我所说的,最简单的方法是针对这些问题进行渲染:只是文本您没有显示足够的代码,我们无法重现问题。请在(a)客户端代码,(b)该代码的输入/数据是什么样子的,您是否尝试将所有代码移植到angular??
self.eblastSubject = ko.observable();
var items = new [] { "one", "two", "three" };
ViewBag.MyList = new SelectList(items);
@Html.DropDownList("MyList", null, "-- Select Message --", new { @class = "form-control", data_bind = "value: messageTitle" })