gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:14:19 26 4
gpt4 key购买 nike

没有发现任何与此相关的内容。

我有一个模型:

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 相同。例如,如果状态为"is",则下拉列表中的文本应为"is"。但有可能的方法吗?是否使用 JavaScript?

最佳答案

您可以使用 Html.DropDown 帮助器。该助手获取一个 IEnumerable 以及您显示的选项。在 Controller 中,您可以在 ViewBag 中或使用 View 模型发送下拉列表的值。 View 模型的此属性必须是一个包含 SelectListItem(s) 的列表,其中包含两个选项"is"和“否”,然后使用过滤器的值选择正确的选项,如下所示:

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.
}
};

然后在您的 View 中,您可以使用 Html 帮助程序打印下拉列表:

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

使用 ViewBag 时要小心,属性的名称必须与助手上的名称相匹配,并且这将与提交表单时表单发送回 Controller 的名称相同。

如果您使用 View 模型版本,我建议您出于测试目的,必须创建该 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);

您可以在 View 中使用以下助手:

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

关于c# - 如何使用模型选择选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24798953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com