对于asp.net提交后究竟有哪些东西,它是依旧在维护的,我一直很模糊,自己做了一个测试,发现客户端脚本改掉的东西,它都是不维护的,看来,除非是服务器控件,而且是在服务器端变更的东西,它是存储到视图状态进行维护的,其他的,它不管,你一刷新或者一提交,它统统回原样了!
上代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript"> function outbtn_click() { document.getElementById("outDiv").innerHTML = "我改掉你了!!"; document.getElementById("inDiv").innerHTML = "我改掉你了!!"; document.getElementById("Label1").innerHTML = "我改掉你了!!"; } </script> </head> <body> <div id="outDiv">我在外面</div> <input type="button" value="outbn" onclick="outbtn_click()" /> <form id="form1" runat="server"> <div id="inDiv"> haha,我这个div在form里面,测试一下看asp会自动给我维护状态的 </div>
<asp:Label ID="Label1" runat="server" Text="我是服务器端控件,来吧,我不怕!"></asp:Label> <br /> <asp:Button Text="button" runat="server"/> </form> </body> </html>
按outbn按钮后,通过客户端js,修改需测试的控件内容,如下:
按button按钮,内容全部变回来了,不管是form外也好,form内也好,甚至是服务器控件,由于是客户端改变的内容,没有进入状态视图内,因此提交后无法保存。
|
请发表评论