如何使用模型选择选项? - c#

对此一无所获。

我有一个模型:

public class Filter
{
    public string No { get; set; }

    public DateTime EndTime { get; set; }

    public string FilterStatus { get; set; }
}

我认为我有第二件事:

<select id="status" name="status" style="width: 120px;font-size: 0.9em; padding: 0;" class="k-dropdown">
    <option>-- Select --</option>
    <option>Yes</option>
    <option>No</option>
</select>

我想做的是选择选项,它等于Model.FilterStatus。例如,如果状态为“是”,则下拉菜单中的文本应为“是”。但是有没有办法做到这一点?用JavaScript或没有?

参考方案

您可以使用Html.DropDown帮助器。该帮助程序将获得一个IEnumerable以及您显示的选项。
在您的控制器中,您可以在ViewBag或使用View Model中发送下拉列表的值。视图模型的此属性必须是具有SelectListItem(s)的List,并且具有两个选项Yes和No,然后使用过滤器的值选择正确的选项,如下所示:

ViewBag.Status = new List<SelectListItem>(){
     new SelectListItem
     {
        Value = "Yes",
        Text = "Yes",
        Selected = yourFilter.FilterStatus  //If your status is Yes this will be true 
                                            //otherwise false.
     },
     new SelectListItem
     {
        Value = "No",
        Text = "No",
        Selected = yourFilter.FilterStatus  //If your status is No this will be true 
                                            //otherwise false.
     }
};

然后在视图上,您​​可以使用HTML帮助器来打印下拉列表:

 @Html.DropDownList("Status", "--Select--")

使用ViewBag时,请注意属性名称必须与助手上的名称匹配,并且该名称将与提交表单时表单将发送回控制器的名称相同。

如果您使用的是View Model版本,建议您出于测试目的,必须创建该View模型并将下拉列表值分配给该属性,如下所示:

//Don't create this class on the controller! This is only as an example.
public class FilterViewModel {
   public bool Status {get; set;}
   public IEnumerable<SelectListItem> statusDropDown {get; set;}
}

var myViewModel = new FilterViewModel();
myViewModel.statusDropDown = new List<SelectListItem>(){
     new SelectListItem
     {
        Value = "Yes",
        Text = "Yes",
        Selected = yourFilter.FilterStatus
     },
     new SelectListItem
     {
        Value = "No",
        Text = "No",
        Selected = yourFilter.FilterStatus
     }
};

return View(myViewModel);

您可以在视图上使用以下帮助程序:

@model Controllers.YourController.FilterViewModel
@Html.DropDownListFor(model => model.Status, Model.statusDropDown, "--Select--")

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

jQuery和Gridview更新面板不起作用 - c#

我必须按照某些给定条件实现gridview的闪烁:gridview row blinking based on some conditions我能够成功实现它,但是随后我被要求在5秒钟内自动刷新gridview,为此我使用了ajax更新面板和计时器,但随后出现如下新的JavaScript错误:码: <form id="form1" …

jQuery-PHP类选择器问题 - php

所以我有这样的事情:<?php foreach($post_array as $post): ?> <div class="postBodyWrapper"> <div class="vid-link"> <script type="text/javascript&#…

Asp.net发送信息表单到页面 - c#

我正在尝试使用弹出窗口中的新信息更新旧页面。到目前为止,我尝试过将结果保存在会话中Session["Data"] = DLvrijecampingplaatsen.SelectedItem; 然后当它达到Page_Load时,将其重新加载回旧页面if (Session["Data"] != null) { LBkies…