0

我有一个下拉列表,该列表使用 Visual Studio 2010 中的数据源填充来自数据库的数据。所有值都是唯一的,并且我设置了一个事件以在选择新值时执行操作。当我在下拉列表中选择一个新值时,新值被选中,但事件不会触发。我在代码中放置了一个断点,以查看它是否正在执行而没有被击中。

我阅读了有关将下拉列表 AutoPostBack 设置为 true 的信息,但这似乎只是刷新页面并将列表设置回其原始选定状态(可能为什么事件没有触发?)。

我还阅读了有关启用 ViewState 的内容,因为这可能导致它无法触发,我尝试将 EnableViewState = "true" 放在 View 的顶部,但无济于事。EnableViewState 属性在下拉列表中也设置为 true。

如果有人对解决方案有任何见解,我将不胜感激?

谢谢

4

2 回答 2

3

使用 Asp.Net MVC,您不需要像 Asp.Net 这样的事件和回发。

您应该使用form标签来处理下拉列表的值,因为它是一个经典的 HTML 页面。如果您想以异步方式处理,请使用连接到onchange下拉列表的 javascript

于 2012-09-03T09:02:34.003 回答
0

我通常发现这是由数据绑定引起的。如果 Page_Load 中的代码绑定下拉列表而不检查 Page.IsPostBack(或在处理控制事件之前管道中的其他位置),这将抑制 SelectedIndexChanged 事件。

另一种可能性是您没有在控件的 decalrative 标记中获得 OnSelectedIndexChanged="DropDownListId_SelectedIndexChanged",或者在您没有 AutoEventWireup=true 的 @Page 指令中。

你可以发布你的代码吗?

刚刚看到标签和@iridio 的帖子。这真的是 MVC 吗?我不希望看到在 MVC 应用程序中使用 System.Web.UI.WebControls,但我不是 MVC 专家。

于 2012-09-03T09:06:17.553 回答