asp.net-mvc - 在 Razor View 中设置下拉列表的选定值

标签 asp.net-mvc razor

我正在尝试在 Razor View 的下拉列表中设置选定值。

       <select id="drpStatus" name="status">
               <option value="A">Active</option>
               <option value="S">Suspended</option>
               <option value="T">Terminated</option>
               <option value="D">Deleted</option>
       </select>

//I am trying with the below code, based on the value in Model, I want to set the  particular option as selected 
<option selected=@{if(@Model!=null && @Model.Status=='A'){'selected'}} value="A">Active</option>

以上代码无效,如果我的工作方向正确或者是否有任何其他/更好的方法来实现它,请告诉我。

最佳答案

从你的 Controller 试试这个

Controller :

var record = db.Records.Find(id);
ViewBag.DropStatus = new SelectList(ListOfStatus, record.Status);

SelectList 的第一个参数应该是一个 IEnumerable,它将作为您的 DropDownList 的数据源,第二个参数用于选择的值,因此只需传递您要编辑的记录的状态属性即可。

查看:

@Html.DropDownList("Status", string.Empty)

第一个参数是我们在controller中分配的ViewBag的名称,它也将作为你发布数据时的名称。希望我已经说清楚了。

关于asp.net-mvc - 在 Razor View 中设置下拉列表的选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18340711/

相关文章:

asp.net-mvc - 将 powershell 脚本添加到 mvc 站点的 Web 部署包

asp.net-mvc - 像 Stack Overflow 这样的网站如何在 ASP.NET MVC 中传递用户信息?

c# - MVC : How to populate dropdownlist from sql query stored in a db field

c# - bool 的 MVC 4 自定义模板( Razor )

c# - 为什么我的 foreach 循环抛出索引超出范围错误?

asp.net-mvc - 确定是否在布局页面中调用了 RenderSection()

jquery - $.ajax()优先级

asp.net - 将 Web 表单转换为 Razor,没有任何错误

c# - 如何解码使用 encodeURIComponent() 在 JS 中编码的 HTML?

asp.net-mvc - ASP.Net MVC "Magic Strings"- 它们可以避免吗?