DropDownList OnSelectedIndexChanged回发

问题描述

大家好,我新手,请教大家一个基本问题:<DropDownList1通过ajax联动到<DropDowList2然后在DropDownList2上加个OnSelectedIndexChanged事件后,每次点击DropDownList触发OnSelectedIndexChanged之后<DropList2的ajax绑定值清空了,请加一下怎么解决?谢谢了

解决方案

解决方案二:
参考联动的例子:asp.netmvc:
解决方案三:
你用的是服务端组件,它的事件会引起页面重新加载,第二个,pageload中加ispostbact判断,或者用html的下拉实现
解决方案四:
引用楼主mikelic的回复:

大家好,我新手,请教大家一个基本问题:<DropDownList1通过ajax联动到<DropDowList2然后在DropDownList2上加个OnSelectedIndexChanged事件后,每次点击DropDownList触发OnSelectedIndexChanged之后<DropList2的ajax绑定值清空了,请加一下怎么解决?谢谢了

回发机制不能与轻量级的Ajax并用。所以一旦你使用富客户端的编程技术为主,那么什么asp.net“都是浮云”了,你基本上不应该再回发。这个时候不管是asp.netwebform还是什么asp.netmvc,都是去了主要作用。Ajax主要是要访问简单的轻量级网页服务,也就是ashx这类东西,才是刚好合适的。
解决方案五:
如果你需要使用富客户端的ajax开发,那么相对来说asp.net这种东西的机制就垃圾了。你应该使用knockout之类的简单的UI框架驱动你的设计,从而你就知道类似你说的这种UI程序之类的,只需要使用ajax方法简单地访问一下数据查询服务接口即可。不再使用asp.net回发了。早在7、8年前,我就对asp.net项目组抛弃真正的ajax潮流而去抄袭开发java中也显得过时而笨拙的asp.netmvc觉得可惜。asp.net应该仍然保证所见即所得地、用鼠标拖拉就能进行丰富布局设计的开发风格,而不是什么asp.netmvc那种可笑的低级UI开发。只不过它应该让所有的asp.net控件的所有复杂行为都运行在客户端,页面不再回发,控件的绑定刷新自动地访问ashx或者svc之类的数据服务。可惜7、8年过去了,我相信微软已经没有这方面的架构师了,早几年前经被鲍尔默和辛诺夫斯基这两个小心眼的男人给挤出微软了。我们唯一可以做到的就是搞清楚,在我们赶上ajax编程风格潮流的时候,asp.net该如何“舍”的问题。
解决方案六:

解决方案七:
页面已经不是原来的页面了,是重新从服务器端发送过来的,当然就没有了。
解决方案八:
回传之后重新绑定数据就行了
解决方案九:
<formid="form1"runat="server">放在这里<asp:ScriptManagerID="ScriptManager1"runat="server"EnableCdn="True"EnableHistory="True"EnablePageMethods="True"EnableScriptGlobalization="True"></asp:ScriptManager>下面的框住你的几个DropDownList,让其局部刷新<asp:UpdatePanelID="UpdatePanel4"runat="server"style="display:inline;"><ContentTemplate></ContentTemplate></asp:UpdatePanel>

时间: 2025-01-29 23:06:35

DropDownList OnSelectedIndexChanged回发的相关文章

asp.net Page.EnableEventValidation 属性验证服务器控件的回发和回调事件出现的错误

本以为页面很简单不会出现问题,但运行时出现了如下错误: Page.EnableEventValidation 属性 参看了一下MSDN,获取或设置一个值,该值指示页面验证回发事件,还是验证回调事件..NET Framework出于安全考虑需要为服务器端控件的回发和回调事件进行注册,此事件验证机制可消除未经授权的回发请求和回调带来的风险.通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件.默认情况下,ASP.NET 中的所有事件驱动控件均使用此功能. 第一反应,既然启用了事件

如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。

问题描述 回发或回调参数无效.在配置中使用<pagesenableEventValidation="true"/>或在页面中使用<%@PageEnableEventValidation="true"%>启用了事件验证.出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件.如果数据有效并且是预期的,则使用ClientScriptManager.RegisterForEventValidation方法来注册回发或回调

ajax-在webform的页面使用了AJAX做了个联动,回发或回调参数无效。

问题描述 在webform的页面使用了AJAX做了个联动,回发或回调参数无效. "回发或回调参数无效.在配置中使用 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证.出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件.如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以

C# 回发或回调参数无效解决方法

c# 回发或回调参数无效解决方法 突然出现了错误:"回发或回调参数无效.在配置中使用 或在页面中使用 <%@ page enableeventvalidation="true" %>启用了事件验证.出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件.如果数据有效并且是预期的,则使用 clientscriptmanager.registerforeventvalidation 方法来注册回发或回调数据以进行验证. 解决办法: 如果页面

数据回发时,维护ASP.NET Tree控件位置

asp.net|控件|数据 ASP.NET2.0提供了一个功能强大的TreeView控件,但是它看起来有一个缺陷:它好像不能够跟踪用户最后选择的一个节点.如果你滚动到第50个节点然后展开该节点,那么当单击链接页面进行回发后,你必须重新利用滚动条下拉到你想要的节点位置. 在.NET较早的版本里,您可能考虑使用SmartNavigation这个特性.SmartNavigation是Web页面指令的一个属性,它的取值为布尔值,一个设置为true的页面指令看起来类似如下: <%@ Page Langua

取消异步回发

通过使用页上的NET UpdatePanel Web 服务器控件,可以在 ASP.NET 中实现异步回发. UpdatePanel 控件不再需要在每次回发时刷新整个页面,这样将改善用户体验.在浏览器中, Microsoft AJAX Library 中的Sys.WebForms.PageRequestManager 类在客户端页生命周期中管 理事件以进行异步回发.可以通过处理 PageRequestManager 类公开的事件来自定义异步回发 出现的方式. 先决条件 若要在您自己的开发环境中实现

为特定异步回发赋予优先级

默认情况下,当某个页同时生成多个异步回发时,最近生成的回发将优先.某些情况下,可以为特定的异步回发赋予优先级并取消其他回发. 先决条件 若要在您自己的开发环境中实现这些过程,您需要: Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 速成版. 一个支持 AJAX 的 ASP.NET 网站. 创建用于为特定回发元素赋予优先级的脚本 首先,创建用于管理浏览器中的异步回发的 ECMAScript (JavaScript) 代码.

GridView动态创建列回发再绑定的解决

先贴代码: protected void Page_Load(object sender, EventArgs e) { this.gvCon.MyBind+=new MyGridView.MyBind_Delegate(Bind); //这一句不用管 !,MyGridView 的需要! if (Page.IsPostBack == false) { Bind(); } } 在 Bind 函数的动态绑定 编辑列. 当点 编辑时, 可以改变为 编辑样式, 但是, 当点击 Update 或 Canc

ASP.NET框架数据回发与事件回发

源从何起 经常在网上的论坛看到有人问Page类的方法RegisterRequiresPostBack有什么用,它是做什么的呢? 简短的官方解释 MSDN对它的解释是将控件注册为要求在页面回发至服务器时进行回发处理的控件,说真的我知道这段话 想描述些什么,但是你知道怎么用它,在哪里用吗? 寻找回发真相 首先ASP.NET框架规定,凡是要进行数据回发的控件都要实现IPostBackDataHandler 接口,它有两个方 法LoadPostData.RaisePostDataChangedEvent