问题标签 [selectlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
6127 浏览

asp.net-mvc - ASP.net MVC: Creating SelectList in the view or action?

I'm just wondering where people are creating their SelectList - in the action or the view.

I have seen examples of both and the one that makes the most sense to me is doing it in the action and have the view model have a property of type SelectList.

On the other hand, I have seen examples where people have the view model have a property of SelectList and the SelectList is populated within the view model (either in the constructor or via lazy loading). I like this idea as it means there is less code in my actions...

In short I was just wondering what people are doing atm.

Cheers Anthony

0 投票
2 回答
6124 浏览

asp.net-mvc - 从多个字段填充选择列表

我的问题很简单。可以说我有一个用户下拉列表。在数据库中,我的用户表有 3 个字段:

在我的 MVC 应用程序中,我想将这些用户链接到项目。所以这就是我想要下拉菜单的原因。

现在,我想要一个选择列表,以 ID 作为值,名字和姓氏是“文本”

现在我如何在文本中获得名字?这应该很容易,但似乎不是......

0 投票
2 回答
3412 浏览

asp.net-mvc - 选择列表的 ASP.NET MVC 模型与 ViewData

我有一个带有很多下拉列表和多选列表的 ASP.NET MVC 应用程序。本质上,有很多选项列表。

我的问题是;将这些列表作为模型的一部分传递给视图,还是作为 ViewData 更好?

我目前将它们作为 ViewData 传递,因为我在模型上并不真正需要它们,而且它们对于在模型上传递似乎可能很笨重(我得到了选定的一个或多个项目,这确实是我所需要的)。不利的一面是,ViewData 需要对 View 进行强制转换,这不如强类型模型好。

这里有最佳实践吗?甚至对其中任何一个的利弊建议都将不胜感激。

0 投票
1 回答
3201 浏览

jquery - 在 jQuery dropdownchecklist 控件中替代 onChange 或 onBlur

当前使用此处找到的 jquery dropdownchecklist:http: //dropdown-check-list.googlecode.com/svn/trunk/src/demo.html

我正在使用许多下拉列表在客户端上对大量数据进行相当繁重的处理。本质上,简单地说,随着每个下拉列表的更改,每个下拉列表中的数据都会被过滤。我正在使用 onChange 事件来执行此操作,但是我所做的每个选择(我可以进行多项选择)都会触发该事件,这是意料之中的,但我发现它确实减慢了我的应用程序的速度。当下拉列表崩溃时,我宁愿让事件触发。我尝试过使用 onBlur 事件,但是当包含选项的 div 折叠起来时,只有当整个控件失去焦点时才会发生这种情况。

有谁知道我可以使用的事件,或者这个控件有我可以挂钩以在它崩溃而不是在它改变或失去焦点时触发我的函数?

如果不是,那么添加功能有多容易呢?

0 投票
2 回答
7314 浏览

asp.net-mvc - 通过 ViewData 为 DropDownList 使用 SelectList 的强类型视图:提交时类型不匹配

我正在尝试在 ASP.NET MVC2 RC 2 中创建一个基于日历事件对象的表单。该对象具有 eventTypeId,它是一个 System.Int32,我需要通过选择列表填充它。

创建初始视图的控制器是:

视图的片段(带有标题)是:

这导致了以下 HTML:

接受 POST 的控制器是:

(我尝试[Bind (Exclude="eventTypeId")]在“CalendarEvent newEvent”参数前面添加,但它不会改变行为。)

问题:当我提交表单时,我得到一个 InvalidOperationException 异常:

具有键“eventTypeId”的 ViewData 项属于“System.Int32”类型,但必须属于“IEnumerable<SelectListItem>”类型。

我在这里和 MVC 博客上查看了许多示例,但到目前为止还不清楚这应该如何工作(它看起来基于许多示例,它应该按原样工作)。我是否需要创建具有 SelectListItem 类型变量的第二个模型来接受 SelectListItem 并将值转换为 System.Int32 以实际设置 eventTypeId?这似乎相当圆润。

0 投票
2 回答
1005 浏览

asp.net-mvc - ASP.NET MVC SelectList:如何设置类名和其他属性?

如何通过SelectList对象设置选择类和其他属性,例如:事件?

如果无法做到这一点,那么填充选择输入(下拉列表)的最佳做法是什么,即我是否应该循环遍历项目并呈现<option>标签

例如,我想事件应该绑定到 jquery 中的控件,但我确实需要该类来执行此操作。

0 投票
1 回答
945 浏览

asp.net-mvc - 使用下拉列表将表单模型绑定到列表。绑定失败 1 种下拉方式

我有一个名为 Sessies 的动作。在此操作中,我正在从表单创建“Sessies”对象。如果它们不存在,我将它们添加到数据库中,如果已经有 Sessies 对象连接到“Reeksen”对象,我将“Sessies”加载到表单中以便可以编辑它们。所以我有一个创建和编辑 1 和相同的形式。

此外,“Reeksen”具有预定义数量的“Sessies”,无法更改。所以我让用户一次性制作所有“Sessies”(因为sessies的数量将从1到10)

在我的 aspx 中,我使用了一个遍历列表的 for 循环(FlatSessie 是 Sessie 扁平的字符串。)

所以,在我的代码中是这样的:

和 lesgeverlist() 方法

现在的问题:

这一切都非常出色。列表转到 ASPX,我得到表单的次数与列表中的项目一样多,并且回发也有效,解析进行了一切。所以一切都很好,除了 1 点:下拉菜单。

通常在 MVC 中,我不会为 SelectList 或 List 设置任何选定的值,因为它们不需要它,在 Edit 页面中,MVC 在绑定时自行设置这些选定的项目。

然而,现在,使用 Foreach 循环中的表单,除了下拉框之外的所有字段都被填充,这些字段没有收到它们的“初始值”。

但是,当我将列表中的项目设置为选中时,它确实在表单中被选中。(从 ViewData [“lesplist”] 中可以看出)但是当我发送一个没有选定值的普通列表时,模型绑定器不会将该字段的给定值传播到下拉列表的选定值。

但是,当我提交表单并返回视图(因为验证失败)时,下拉菜单会保留其值。

这是可以修复的,还是这只是 MVC2 中的一个缺陷?

0 投票
2 回答
2425 浏览

asp.net-mvc - 如何编写 C# 扩展方法将域模型对象转换为接口对象?

当您有一个需要显示为界面控件的域对象(如下拉列表)时,ifwdev建议创建一个扩展方法来添加一个 .ToSelectList()。

原始对象是具有与下拉列表的 .Text 和 .Value 属性相同的属性的对象列表。基本上,它是一个 SelectList 对象的列表,只是类名不同。

我想您可以使用反射将域对象转换为接口对象。有人对可以做到这一点的 C# 代码有任何建议吗?SelectList 是一个 MVC 下拉列表的 SelectListItem。

这个想法当然是在视图中做这样的事情:

0 投票
1 回答
1069 浏览

select - WatiN SelectList 方法 - 与选择列表交互后页面未刷新/未触发操作

前言:

如果您不关心前言,请跳到标有“问题”的部分。

你好,

最近我公司的测试自动化框架升级到了最新版本的WatiN。我们升级以避免与选择列表交互会导致 ACCSES DENIED 错误的问题。此错误似乎是由于我们的 Web 应用程序在选择某些选择列表选项后使用新字段重新加载它所在的页面(位于框架集中的框架中)。也可能是我们的框架围绕 WatiN,经常在页面刷新后对同一个 SelectList 执行操作(我仍在研究这个,我是框架的新手)。

新版本的 WatiN 确实解决了 ACCESS DENIED 错误,但似乎也阻止了选择列表触发导致页面使用其新选项重新加载的操作。事实上,如果你使用WatiN进行选择,即使手动交互,选择列表也不会正常工作,直到页面被强制刷新。

问题:

当使用最新的 WatiN 代码在 SelectList 中选择一个选项时,导致我们的 Web 应用程序页面重新加载新字段/值的事件不会执行。有哪些可能会导致这种情况?

我见过的最常用于描述使用我们的选择列表时发生的刷新的术语是“双重回发”。

非常感谢,乍得

0 投票
2 回答
4775 浏览

javascript - 如何将(不完整的)选择列表的顺序恢复为其原始顺序?

我有两个选择列表,您可以在它们之间移动选定的选项。您还可以在右侧列表中上下移动选项。

当我将选项移回左侧列表时,我希望它们在列表顺序中保留其原始位置,即使列表缺少一些原始选项。这仅是为了使列表对用户更方便。

我目前正在使用原始选择列表 onload 定义一个数组。

实现这一点的最佳方法是什么?