问题标签 [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.
asp.net-mvc - 使用 SelectList 进行模型绑定
我使用 Html.DropDownList(string NameSelectListInViewData) 方法创建了一个 DropDown。这会生成具有正确值的有效 Select 输入。一切都很好。
然而,在提交时,源 SelectList 中的值未绑定。
案例: ViewData.SearchBag.FamilyCodes:
生成下拉列表的 Html:
生成的html:
在我的控制器中,我有一个带有参数 searchBag 的操作。
所有其他字段都绑定得很好,只有选择框没有。有任何想法吗?
更新
对于未来的读者来说,阅读这篇博文可能是值得的: http: //haacked.com/archive/0001/01/01/model-binding-to-a-list.aspx
c# - 实例化后在 SelectList 中设置选定值
我是否认为创建后无法在 C# 类 SelectList 中设置选定值?是不是有点傻?
asp.net-mvc - Html.DropDownList 和模型绑定
为什么模型绑定不能在 DropDown 上工作?
我究竟做错了什么?
为了说明我的问题,我做了以下事情:
创建了一个新的 asp.net MVC 项目(beta1) 创建了以下类:
向 HomeController 类添加了一个视图数据,如下所示
将以下行添加到我的 Home.Index() 方法中
并复制了相同的方法,但使用不同的签名来捕获回发调用
这里我在第一行代码中添加了一个断点。
然后我将以下代码添加到我的 Index.aspx
结果,我得到了一个包含值 test、test1 和 test2 的漂亮下拉列表的页面。
然后在选择一个值后,我按下回车键(不用提交按钮),看看我的断点是如何停止代码的。我检查 HomeViewData 的值...
NULL
如果我做同样的练习,但例如使用文本框,一切都很好......
--EDIT--
自从这篇文章以来我尝试过的事情:
- 按照 Phil 的建议,在我的操作中添加 [Bind(Prefix="")] 属性
- 添加 [Bind(Prefix=" ")] 以查看这是否会消除“不允许使用空名称”的错误
- 在我的控件名称中添加我的操作参数的名称
asp.net-mvc - 为什么不在选择列表中设置 selectedValue 使该值在浏览器中突出显示?
当我这样做时:
我得到一个选择了该项目的 SelectList(它作为 SelectedValue 插入),但没有突出显示。
我应该怎么做才能获得一个带有列表的下拉列表,在该列表中我提前决定在页面加载时选择什么项目?
asp.net-mvc - 有人向我解释 Html.DropDown 它是最亲爱的朋友 SelectList
如果您查看我之前的问题,您可能已经注意到我没有得到 SelectList 和 Html.DropDown()。我觉得有趣的是,我似乎是其中唯一的一个。所以也许我应该尝试改变我的心态,或者也许有一些我不知道的事情会解决这一切。我真的很喜欢整个 MVC 框架,但 SelectList 只是不想适应我的想法。所以这是我的清单:
选择列表
- 为什么实例化后无法设置选定的值
- 为什么我不能按项目索引设置 selectedValue
- 为什么 selectedvalue 有时是字符串,有时是我放入其中的类,有时是 ListItem
- 为什么这些项目只能通过 GetItems() 访问
- 为什么 selectedItem 和 listItems 的类型不匹配?
- 为什么您放入列表中的项目转换为 listItem 而 selectedItem 没有?
- 为什么没有使用 GetItems() 方法我不能得到项目的数量
Html.DropDownList()
- 为什么模型绑定不能使用它
- 当只有一个选项时,为什么没有默认选择的行为
- 为什么不在源 selectLIst 中制作一个项目 SelectedValue 使其成为标记项目
在 ppl 建议我自己编写之前:
由于这将与 MVC 产品一起提供,因此我宁愿获得基本控件的官方支持,也不愿自己动手并承担随之而来的所有麻烦。
asp.net-mvc - 在 asp.net mvc 中选择列表用法
我正在开发一个 MVC 站点,这是我的公司所做的第一个,我发现自己经常做的一件事是在控制器中创建选择列表,将它们放入 viewdata 并在创建 html.DropDownList 时读取它们。有几件事让我觉得我做事的方式很臭。
某些页面可以重复列表(酒店房间的董事会费率,用户可以根据需要向酒店添加任意数量的房间),目前我使用相同的选择列表,这是一种好的做法还是应该每个人都有一个?
在前面的示例中,“房间”是一个 ascx,由 renderpartial 或通过 jquery 的 ajax 调用呈现。控制器传递选择列表以便ascx可以使用它的最佳方式是什么,目前我添加到页面的viewdata中,它将它的viewdata传递给renderpartial,但是在ajax调用上还需要添加action方法ascx 的 Viewdata 的选择列表,又不确定这是最好的方法。
我有一个存储库,它保存这个“静态”数据并作为通用列表返回,所以每次控制器需要数据时,它都会访问列表的存储库(除了董事会费率之外,还有一些其他的东西,比如人的头衔,先生,夫人等)我怀疑某种缓存会更好,因为数据很少发生变化。
有人在这些领域有什么建议吗?
javascript - 创建动态选择(下拉)列表的最佳方式?
我正在使用 jQuery 和 jqGrid。
我正在尝试动态填充一个选择列表,每行一个,我需要向它添加一个点击事件。当填充SELECT列表时,我获取所选项目的索引,然后在添加所有项目之后,我正在尝试设置所选项目。
我试过了
所以这意味着我可能错误地填充了列表......
有没有更好的办法?
我试过这个,但我无法向它添加点击事件。虽然选择了正确的项目。
javascript - 在 ViewData 中使用选择列表填充下拉列表
我正在尝试填充 HTML。selectlist
使用来自数据库调用的字符串值(位置地址)和文本(位置描述)字段填充的下拉列表。我将选择列表作为视图数据传递给我的视图。下拉列表填充得很好,但是当我使用该值时,它是 null 或空,正如我在我的 javascript 函数中放置的警报所看到的那样。这是代码任何想法为什么this.locations.value
为空:
我的查看代码:
我的控制器代码:
model-view-controller - 下拉列表值未从 SelectList 中设置,传递给 ViewData 中的视图
我正在尝试填充办公室位置(文本)和地址(值)的下拉列表当显示页面后在浏览器中查看我的页面源时,我可以看到选择(下拉列表)选项值都是“”。这是我的代码。我正在使用 LinqToSql 数据上下文调用来获取 SelectList 的数据。在调试器中,我可以看到从我的调用返回的列表确实包含我需要的地址和办公地点。我的模型数据上下文代码:
我的控制器代码:
我的视图代码: <%= Html.DropDownList("locations", (SelectList)ViewData["OfficeLocations"])%>