对此一无所获。
我有一个模型:
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…