DropDownList SelectedIndex始终= 1

时间:2008-12-17 21:55:09

标签: asp.net

我在页面中有一个下拉列表。所有列表项的值=“0”。我关闭了viewstate。当页面回发时,无论列表中的选择如何,所选索引在Page_load事件中始终= 1。如果列表项的值不同,则selectedIndex具有适当的值。这是正常行为吗?

4 个答案:

答案 0 :(得分:2)

是。这些值用于指示所选项目在回发时的内容。如果您的所有项目具有相同的值,则它会找到与该值匹配的第一个项目,因此SelectedIndex = 1.

练习建议在值字段中使用ID。

答案 1 :(得分:1)

如果下拉列表成为HTML选择列表,则是,浏览器会提交每个选项的value属性,因此如果它们全部相同,您将始终获得相同的值。

答案 2 :(得分:0)

嗯,差不多。 selectedIndex告诉您哪个选项具有回发的值。由于所有值都相同,浏览器可以选择它喜欢的任何选项,这将是正确的。 'interesting'属性是值,而不是选项的文本。

答案 3 :(得分:0)

这是预期的行为。 HTML SELECT元素仅发送回值而不是文本。如果所有OPTION具有相同的值,那么看起来每个OPTION都会被选中,所以ASP.Net会选择第一个。

如果您不使用该值,则可以省略它,它将与文本相同。或者您可以显式设置与文本相同的值。另一种方法是使用列表项的索引作为值。但除非您使用不同的值(在HTML中呈现),否则下拉列表或多或少无用。