作者cplusplus (C++)
看板C_Sharp
标题Re: [问题] ASP.NET的AutoPostBack和Response.Write
时间Wed Mar 1 04:58:23 2006
※ 引述《shicer (温暖你我的心)》之铭言:
: 三个问题要请教
: (1)假设在页面上,有两个邻近的DropDownList被设为AutoPostBack = true
: 这样在点选DropDownList1或DropDownList2的时候页面就会闪一下
: 现在如果点选DropDownList1
: 趁画面还没闪之前很快的再去点一下DropDownList2
: 就会出现一些问题,例如整个页面就看不到东西了
不知 这个是ASP.NET讯息传递机制问题 也许没有办法避免
可能要请问内部机制较熟的人了
ASP.NET用了一些javascript来支援讯息传递...(参见下面)
: (2)显示错误讯息的时候
: 我用Response.Write("<script>alert('错误讯息');</script>");
: 会出现一个MessageBox
: 按下确定之後,再按其他连结连到别的页面,然後按"上一页"
: 又会出现那个MessageBox?!
: 而且这时候再按一次"上一页",还是现在这页,
: 要再多按一次"上一页"才会真的回到再上页
: (就好像那个MessageBox跳出来的那次也算一页?!)
: AutoPostBack也有类似的问题
: 前述的DropDownList1只要被点选过一次,就要按两次"上一页"才可以回到上页
如果你了一般解动态网页的机制 就会了解为什麽了...
简单说当你因为某些原因使得网页refresh 传递讯息回去给server server接收以後
做出适当的反应 再传给你一个网页 基本上 这两个网页是"不同的"
你也许会疑问 看起完全相同 内容一样 也都是同样一页同网址
但其实两个网页是不同的 只是刚好长得一样 虽然网址一样~ 但这就是所谓的"动态"网页
server收到某个网址後 会依照网页内程式流程跟当下的一些相关资讯 程产生不同的网页
给你你 所以实际上你看到的是程式码产生出来的东西 不是那个程式网页本身 所以你可以
看到跟他人不同的内容 即使是同一网址 就像不同会员登入到同一页 看到自己的个人
资料 每个人一定不同....
所以当你按下某个钮或是选了什麽东西 传了讯息回到server server会传一页新的网页
当你用javascript再度跳到另一页 其实已经跳过两个网页了 当然你按上一页就会再跑出
一个警告罗~~ 类推 按两次上一页 就真的回到你心中想的"上一页"了 不知道我这样说
清不清楚 希望不是胡言乱语(现在好想睡啊XD)
那解决方式就要看你怎麽去应用了 基本上是要配合一点javascript的程式
大概像是:
设定一个条件给javascript作判断
当条件设为true 就显示警告 "再设条件为false" 然後自动跳页
如果是false 就不做任何警告也不跳页
如果你自动跳页了 你按上一页回到这一页的时候 条件已经为false就不会再跳一次警告
也不会自动跳一页 内容也会像你心中的上一页那样...
: 例如不能 " Name = 'O'Neal' "
" Name = 'O\\'Neal' "
写法 内容
"ab" => ab
"\"" => "
"'" => '
'"' => "
'\'' => '
"\\" => \
'\\' => '
" Name = 'O\\'Neal' " => Name = 'O\'Neal'
当SQLServer接到这个指令 就会把 Name 设定成 O'Neal 了
请多多看书吧 会有帮助的~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.217.14
※ 编辑: cplusplus 来自: 140.115.217.14 (03/01 05:04)
1F:推 shicer:非常感谢 03/01 05:09
2F:推 tomex:针对Q3,尽量用Pramater("@COLUMN")=object来解决Injection 03/01 12:47