- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 C# 新手,因为我主要使用 Java。
但直奔问题(我已经简化了一点):
首先是我的 aspx 页面的摘录:
<div class="dates">
<div class="firstselection">
<asp:DropDownList ID="DDFromMonth" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="DDToMonth" runat="server">
</asp:DropDownList>
</div>
</div>
以及代码隐藏:
public partial class Argh: System.Web.UI.Page
{
static List<ListItem> monthList = new List<ListItem>
{
new ListItem("Jan", "1"),
new ListItem("Feb", "2"),
new ListItem("Mar", "3"),
new ListItem("Apr", "4"),
new ListItem("May", "5"),
new ListItem("Jun", "6"),
new ListItem("Jul", "7"),
new ListItem("Aug", "8"),
new ListItem("Sep", "9"),
new ListItem("Oct", "10"),
new ListItem("Nov", "11"),
new ListItem("Dec", "12")
};
protected void Page_Load(object sender, EventArgs e)
{
DDFromMonth.Items.AddRange(monthList.ToArray()); // DDFromMonth is a asp.net dropdown list
DDToMonth.Items.AddRange(monthList.ToArray()); // DDToMonth is a asp.net dropdown list
DDFromMonth.SelectedValue = "6";
DDToMonth.SelectedValue = "7"; // also changes DDFromMonth value (GODDAMN!)
}
好的,我有一个包含月份的静态列表。我将此列表的范围添加到下拉控件和 DDDromMonth 我选择“6”(六月)和 DDToMonth “7”(七月)。但是,这两个下拉列表中的结果都显示 July!
我也尝试过使用非静态列表,但这并不重要。我测试过的唯一“有效”的是实例化两个不同的列表——只有这样下拉列表项才会按我的意愿被选择。因此,添加这样的列表可以使事情正常进行(但很难看):
DDFromMonth.Items.AddRange(monthList.ToArray());
DDFromMonth.Items.AddRange(aDuplicatedMonthList.ToArray());
我已经通过 asp.net 添加数据源解决了这个问题,但仍然很想知道这里发生了什么。为什么我必须为每个下拉列表实例化一个新列表。不是每个控件都有自己的指针来跟踪它们自己的值吗?感觉指针以某种方式在列表中共享,但我将思考留给更了解 C# 和 ASP.NET 的人
最佳答案
ListItems 直接添加到 DropDownList 控件中。所以实际上你所做的是将完全相同的列表添加到 2 个不同的控件中。因此,只会实现最后一个选中的项目,因为同一个列表只能有一个选中的 ListItem。
一个简单的方法来做你想做的事情是这样的:
protected ListItem[] MonthList
{
get
{
return new ListItem[]
{
new ListItem("Jan", "1"),
new ListItem("Feb", "2"),
new ListItem("Mar", "3"),
new ListItem("Apr", "4"),
new ListItem("May", "5"),
new ListItem("Jun", "6"),
new ListItem("Jul", "7"),
new ListItem("Aug", "8"),
new ListItem("Sep", "9"),
new ListItem("Oct", "10"),
new ListItem("Nov", "11"),
new ListItem("Dec", "12")
};
}
现在您将始终创建一个新数组。
关于c# - 发布 DropDownList.Items.Addrange 和选择值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371614/
我有两个 ASP.Net 下拉列表,其中的值相同,根据用户输入的不同数据从数据库填充,并且每次都有动态大小。我的情况是,我希望禁用第二个下拉列表中已在第一个下拉列表中选择的任何选项。我做了一些谷歌,大
我有两个相关的模型。 public partial class bs_delivery_type { public decimal delivery_id { get; set; }
我需要能够根据先前 DropDownList 的选择来填充 DropDownList。 我注意到在 SO 上有很多类似的主题,不幸的是,我需要在不使用 AJAX 调用的情况下完成此操作,并且需要在 M
我无法在 ASP.NET MVC 应用程序的 Create View 中获得我们想要的功能。 我们的 Create View 中有两个 DropDownList。 一个是类别选择,第二个应该根据第一个
这个问题在这里已经有了答案: Easiest way to create a cascade dropdown in ASP.NET MVC 3 with C# (1 个回答) 关闭 9 年前。 加
有什么区别 DropDownList.ClearSelection(); 和 DropDownList.SelectedIndex = -1; 在使用下拉列表时? 编辑:我知道 MSDN 上提供的这些
这是一个常见问题,但我不知道如何使用 KendoUI 小部件和 Javascript 来解决它。我有一个 KendoGrid,其数据源来自对 Web 服务的 AJAX 调用。数据绑定(bind)到列。
我有一组问题供用户选择,其中一些问题有第二个选项列表可供选择。我的目标是有一个下拉列表,如果您选择其中一个在其 SecondaryChoiceList 中有项目的选项,那么第二个列表将出现在初始下拉列
我有一组问题供用户选择,其中一些问题有第二个选项列表可供选择。我的目标是有一个下拉列表,如果您选择其中一个在其 SecondaryChoiceList 中有项目的选项,那么第二个列表将出现在初始下拉列
我正在使用带有 ajax 工具包的 asp.net 3.5。 问题:我有一个自定义控件,在更新面板中有两个下拉列表。第一个 DDL 具有属性 AutoPostBack="true" 并且在选择时填充第
我在我的一个 ddl 上选择了其他选项,并且成功获得了该值,但同时我想在代码中的其他 ddl 上获得选项。我怎样才能获得其他 ddl 选项....?我在这里放置了我的问题的代码示例: (no
我们在我们的应用程序中使用自定义表单控件。当我们尝试在这个自定义表单控件中使用 asp dropdownlist 控件时,我得到了这个给定的异常。但是,当我使用 asp 文字控件时,我们不会收到此错误
我有两个 asp.net 下拉列表,我想用 Javascript 操作客户端。这两个下拉菜单位于模态打开内: function() 当 dropdown1.value == "me"时我想要禁用 dr
我有一个 WebForms 页面,上面有两个 DropDownList 控件,它们都包含 60-80 度的温度范围,一个用于加热,另一个用于冷却。它们在 .aspx 中声明为: 每个列表的值都使用
抱歉这个愚蠢的问题,我以前使用过 MVC,但以前从未做过这样的事情。 好吧,假设我正在实现一个门票系统,用户可以在特定时间和巴士上预订门票。 在“预订”页面中,我有2个DropDownList,其中一
我有一个 activeDropDownList 类型的字段,用户在其中选择所需的月份,并且 View “mobilizer”处理所选月份的大量查询。 但是,渲染页面后,activeDropDownLi
我试图禁用列表框中的多选,但是当我调用removeAttr('multiple')时,它会将我的列表框变成下拉列表。我不需要下拉菜单,我想保留列表框。我该如何调整才能实现这一目标?谢谢。 @Ht
我需要在 WinForm 上显示一些韩文文本。文本在我的 ListBox 控件中显示良好。相同的文本不会显示在我的 DropDownList 控件中。两个控件的字体均为 Arial 8pt。两个控件的
我有一个简单的问题。我有一个 dropDownList,我试图用存储过程中的 id 填充它。然而它似乎不起作用。这是我的下拉列表: Select new CaseFile:
绑定(bind)后下拉菜单显示以下值: 第一优先级低 第二优先级中 第三优先级高 每次回发后下拉列表显示以下值: 第一优先级低 第二优先级中 第三优先级高 第一优先级低 第二优先级中 第三优先级高 这
我是一名优秀的程序员,十分优秀!