- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在关注一个问题,其中 OP 有类似这样的东西
[HttpGet]
public ActionResult Index() {
var options = new List<SelectListItem>();
options.Add(new SelectListItem { Text = "Text1", Value = "1" });
options.Add(new SelectListItem { Text = "Text2", Value = "2" });
options.Add(new SelectListItem { Text = "Text3", Value = "3" });
ViewBag.Status = options;
return View();
}
然后在 View 中可以做这样的事情
@Html.DropDownList("Status", ViewBag.Status as SelectList)
我的预期是转换的结果是 null
我也这么说了。我被纠正说它应该可以工作,并且它是通过 .net fiddle 演示的。令我惊讶的是,下拉列表中填满了这些项目。
我的问题:在 View 中完成后,List<SelectListItem>
是怎么回事?安全地转换为 SelectList
最佳答案
这是一个很好的问题。我进一步调查了此事,确实,如果 selectList
参数为 null,则 name
参数用于在 ViewData
中查找键>.
他们甚至添加了评论:
private static MvcHtmlString SelectInternal(this HtmlHelper htmlHelper, ModelMetadata metadata, string optionLabel, string name, IEnumerable<SelectListItem> selectList, bool allowMultiple, IDictionary<string, object> htmlAttributes)
{
...
// If we got a null selectList, try to use ViewData to get the list of items.
if (selectList == null)
{
selectList = htmlHelper.GetSelectData(name);
...
稍后,使用name
:
private static IEnumerable<SelectListItem> GetSelectData(this HtmlHelper htmlHelper, string name)
{
object o = null;
if (htmlHelper.ViewData != null)
{
o = htmlHelper.ViewData.Eval(name);
}
...
好问题@Nkosi。我不知道这是可能的。
关于c# - List<SelectListItem> 如何在 View 中安全地转换为 SelectList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39979467/
我正在使用 WatiN 进行一些网络测试,但遇到了选择列表的问题。 我必须先浏览几页,添加一个“类别”元素,该元素将填充所述麻烦的选择列表。 我已经能够使用 ByValue 从列表中轻松选择一个元素,
我是 javascript 的新手,目前正在研究 knockoutjs 库。这是我的问题。我有一个从可观察数组填充的选择列表。当我从选择列表中选择一个值并单击保存按钮时,我希望将该值保存在一个变量中,
我有这个选择列表: Please select a parent category New Store Extensions Remodel Bespoke Signage
我正在尝试在选择列表中设置多个值: SelectList List = new SelectList(MyListItems, "valField", "dataField", ); 我使用什么对象/
我的 View 中有一堆下拉列表,例如这个: @Html.DropDownListFor(model => model.Process, Model.ProcessList) 他们都接受一个Selec
我试图在 dropdownlist 文本中显示多个值。示例如下。 SelectList(Parts, "pno", "pcode"+"pname") 在哪里 pno 是零件编号。 pcode 是部分代
我目前在获取 SelectList 时遇到了一些问题默认为定义的初始值。我创建了一个片段来演示这个问题:https://dotnetfiddle.net/ozroT1 本质上,我希望我的 DropDo
在 MVC4 中: 我的模型中有以下用于下拉列表的属性: public SelectList Subjects { get; set; } 我在页面加载时在我的 Index() 操作中设置 Subje
这可能真的很简单...我正在尝试创建一个 SelectList,其中包含从当前年份开始到 2008 年的年份。情况总是如此。例如,在 2020 年,我的 SelectList 将包含 2020 - 2
我有以下操作方法: public JsonResult LoadSitesByCustomerName(string customername) { var customerlist = re
假设我有一个这样的枚举(仅作为示例): public enum Direction{ Horizontal = 0, Vertical = 1, Diagonal = 2 }
所以我在这个方法中生成了一个 SelectList : public static SelectList HolidayDays() { SelectList retval = Generat
我有一个 IDictionary,现在我想在选择列表中使用这些值。我该怎么做呢? 谢谢。 最佳答案 刚设置"Value"和 "Key"为 dataValueField和 dataTextField .
请帮忙使用 Ajax 填充 SelectList 和选项组吗? 我已正确编码添加项目,但不确定如何添加选项组。 这是我的有效 Ajax 代码: var category = $(this).val()
我在通过 QueryOver 选择时遇到一些问题,这是我的模型类: public class BaseModel { public virtual int Id { get; set; }
所以下面的代码为我提供了一个下拉框,其中包含来自司机的姓名列表,但它只是名字,我也有姓氏,我该怎么做。我的代码是... @Html.DropDownListFor(model => model.Dri
我刚刚开始在 MVC 项目中学习 AutoMapper。我有一个基本实体“Attendee”,其中包含一个性别字符串字段(可能值为“M”或“F”)。 我已经在 Attendee 和 AttendeeE
我正在努力创建一个包含下拉列表的 View 。为了生成选择列表项,我编写了一个方法来返回 SelectListItem 的列表。此下拉列表所需 - 其中一个具有 Selected 属性设置为 true
我有一个具有以下属性的类。它从现有列表构造一个 SelectList 对象,然后设置所选项目。 public SelectList ProviderTypeList { get {
我正在尝试为我的 Controller 中的下拉菜单设置选定值,并通过 ViewBag 将其传递到我的 View 。当我调试时,所有正确的值都被传递给 Controller 和 View ,但当它
我是一名优秀的程序员,十分优秀!