在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
之前开发的一套系统中用到了大量的 checkboxList 控件,但是每次选定之后都会刷新整个页面,用户体验很差,百度了之后查到这篇文章,尝试了一下可以实现,所以转载了过来,记录一下,也给其他有相同困扰的朋友一个解决的办法。
********************分割线******************** C#所有runat="server"的控件都会造成整个界面的刷新,如果想实现局部刷新,可以利用ajax。需要加入的控件有ScriptManager和UpdatePanel,可以实现只刷新UpdatePanel内的内容。 <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><br /> <div style="text-align: center; color: Blue; font-size: larger"> 不需要刷新的内容 </div> <div style="text-align: center"> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DataList ID="DataList1" runat="server"></asp:DataList> </ContentTemplate> </asp:UpdatePanel> <br /> <br /> <div id="divButton" style="text-align: center"></div> </div> </form> </body>
其中 <asp:ScriptManager> 就是实现AJAX的控件,需添加在所有页面内容的最上面,扔在最上面就行,标签之间不用添加内容。<asp:UpdatePanel> 以</asp:UpdatePanel>结尾,在该区域内的刷新内容时,不会刷新整个页面,标签之间为局部刷新的内容。 后台页面,只需要按照原来的需要对datalist等进行相应的操作,不需要对<asp:ScriptManager >, <asp:UpdatePanel>进行操作,另外,<asp:ScriptManager >,<asp:UpdatePanel >在VS2008之后,可以在工具箱(ToolBox)中的AJAX Extensions 下找到,在VS2005中,需要安装AJAX插件才能使用。 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <asp:DropDownList ID="ddlUsed" runat="server"> <asp:ListItem Text="百度" Value="-1"></asp:ListItem> <asp:ListItem Text="谷歌" Value="0"></asp:ListItem> <asp:ListItem Text="新浪" Value="1"></asp:ListItem> </asp:DropDownList> </asp:UpdatePanel>
正确的如下: <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DropDownList ID="ddlUsed" runat="server"> <asp:ListItem Text="百度" Value="-1"></asp:ListItem> <asp:ListItem Text="谷歌" Value="0"></asp:ListItem> <asp:ListItem Text="新浪" Value="1"></asp:ListItem> </asp:DropDownList> </ContentTemplate> </asp:UpdatePanel>
(2)类型“ScriptManager”的控件“ScriptManager1”必须放在具有 runat=server 的窗体标记内 错误原因:<asp:ScriptManager ID=“ScriptManager1” runat=“server”></asp:ScriptManager>这个内容必须放在<form>标记内。 |
请发表评论