![](/img/trans.png)
[英]asp.net dropdownlist first selection does not fire SelectedIndexChanged event
[英]How to manually fire postback event to activate selectedIndexChanged event on the server side of a project Asp.net mvc4
这是我的问题,我有一个带dropdownlist
控件(服务器端)的mvc项目,在运行时填充了数据,将autopostback
设置为true,并启用了viewstate
; 此下拉列表具有selectedIndexChanged
事件处理程序,该事件处理程序假定是在用户选择某些内容时触发的。
但是,在页面加载时, Page.IsPostBack
始终为false,因此将重新填充数据列表,因此无需进行更改即可触发事件处理程序。 我已经阅读了这篇文章,虽然ASP Web表单会自动处理回发,但是在MVC上,我必须手动编写JavaScript代码才能触发回发。
你们知道我能以任何方式做到这一点,以便它进入selectedIndexChanged
EventHandler并不再再次填充dropdown list
吗?
编辑:我已经尝试过
<script type="text/javascript">
function OnIndexChanged() {
var databaseList = document.getElementById("FeaturedContent_DatabaseList");
__doPostBack(FeaturedContent_DatabaseList, '');
//window.location.href("http://localhost:49729/home/schemas?dbName=SchoolDB");//+ document.getElementById("DatabaseLists").selectedIndex;
//postMessage("h", "http://localhost:49729/home/schemas?dbName=SchoolDB");
//__doPost(
}
</script>
如我所见,您正在尝试使用MVC。 因此,忘记回发的想法,您将不会每次都重新加载页面。 您可能会向服务器发出ajax异步请求。 这是一些获取事件的代码:
$("#state").change(function(){
//on-change code goes in here.
//variable "this" references the state dropdown element
});
它的jQuery。 #state是您的下拉列表的ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.