2012-09-03 82 views
0

我有一个下拉列表正在使用Visual Studio 2010中的数据源使用数据填充数据。所有的值都是唯一的,我已经设置了一个事件来携带在选择新值时执行操作。当我在下拉列表中选择一个新值时,会选择新值,但事件不会触发。我在代码中放置了一个断点,以查看它是否正在被执行而没有被击中。Asp.net MVC的C# - DropDownList SelectedIndexChanged没有射击

我读到有关设置下拉列表的AutoPostBack为true,但是这一切似乎做的就是刷新页面,设置列表恢复到原来的选中状态(可能的原因该事件不触发?)。

我也读了一些关于启用ViewState,因为这可能会导致它无法启动,我试图把EnableViewState =“true”放在视图的顶部无济于事。 EnableViewState属性在下拉列表中也设置为true。

如果有人对解决方案有所了解,我将不胜感激。

谢谢

+0

请显示一些代码。 – SMK

+0

这是MVC还是WebForms?您的问题标题,然后问题内容混淆。 MVC没有'ViewState','AutoPostBack'或'EnableVeiwState' –

回答

3

与Asp.Net MVC你没有事件和回发像Asp.Net。

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

0

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

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

你能发布你的代码吗?

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

相关问题