我有一个下拉列表,在Visual Studio 2010中使用数据源填充数据库中的数据。所有值都是唯一的,我设置了一个事件来在选择新值时执行操作。当我在下拉列表中选择一个新值时,会选择新值,但不会触发该事件。我在代码中设置了一个断点,看它是否正在被执行而没有被击中。
我读到有关将下拉列表设置为AutoPostBack为true但所有这些似乎都是刷新页面并将列表设置回其原始选择状态(可能为什么事件未触发?)。
我还阅读了一些关于启用ViewState的内容,因为这可能导致它无法触发,我尝试在视图顶部放置EnableViewState =“true”无效。 EnableViewState属性在下拉列表中也设置为true。
如果有人对解决方案有任何见解,我将不胜感激?
由于
答案 0 :(得分:3)
使用Asp.Net MVC,您没有像Asp.Net那样的事件和回发。
您应该使用form
标记来处理下拉列表的值,因为它是一个经典的HTML页面。如果您想以异步方式处理,请使用与您的下拉菜单onchange
相关联的javascript
答案 1 :(得分:0)
我通常发现这是由数据绑定引起的。如果Page_Load中的代码绑定下拉列表而不检查Page.IsPostBack(或在处理控制事件之前管道中的其他位置),则会抑制SelectedIndexChanged事件。
另一种可能性是您在控件的decalrative标记中没有OnSelectedIndexChanged =“DropDownListId_SelectedIndexChanged”,或者在@Page指令中没有AutoEventWireup = true。
你可以发布你的代码吗?
刚刚看过tag和@ iridio的帖子。这真的是MVC吗?我不希望在MVC应用程序中看到System.Web.UI.WebControls,但我不是MVC专家。