asp.net窗体操作总结
這些代碼全部寫在和頁面分離的代碼頁中(codebehind),如果要嵌入到*.aspx頁面,可能
會出現(xiàn)問題.
1.打開新窗口
? 這個簡單:Response.Write(@"<script
??? language='javascript'>window.open('url');</script>");
2.調(diào)整本窗口大小和位置
Response.Write("<script>window.resizeTo(500,400);</script>");
Response.Write("<script>window.moveTo(300,200);</script>");
3.關(guān)閉窗口
? //關(guān)閉當(dāng)前窗口,并提示用戶時候關(guān)閉,yes關(guān)閉,no退出
? Response.Write(@"<script language='javascript'>window.close();</script>");
? //延遲關(guān)閉窗口(下面代碼表示2秒后關(guān)閉,無需確認)
? Response.Write(@"<script
??? language='javascript'>setTimeout('self.close()',2000);</script>");
4.延遲時間
? 這個和上面的沒有多少區(qū)別.我用到的情況是,在用戶操作完畢給出提示,"n秒后,頁面
??? 轉(zhuǎn)向"之類的只需去掉2重的Self.close()即可
? Response.Write(@"<script
??? language='javascript'>setTimeout('',2000);</script>");
5.彈出提示或警告窗口
? Response.Write(@"<script language='javascript'>alert('添加成功,2秒鐘后頁面
??? 將自動跳');</script>");
6.刷新其他頁面
? 這個用到的情況還是不少.比如在B頁面對數(shù)據(jù)更新和修改,另一頁面A要保持最新數(shù)據(jù)
? 給客戶,這是就要在對B操作完畢的情況下對A進行刷新:
? Response.Write(@"<script language='javascript'>window.opener.location.
??? href='./default.aspx'</script>") ;
7.頁面跳轉(zhuǎn)
? 有時候在需要給出提示的情況下進行頁面跳轉(zhuǎn),不能使用Response.Redirect("url");
? 比如,當(dāng)客戶操作完畢,單擊按鈕提交,彈出提示框(使用上面3和4),如果使用了
??? Response.Redirect("url");
? 那么頁面將不給出提示,頁就是3和4沒有起作用就直接轉(zhuǎn)向了.
? 如果你是下面的操作過程:
? 1).Response.Write(@"<script language='javascript'>alert('添加成功,2秒鐘后頁
??? 面將自動跳');</script>");
? 2).Response.Write(@"<script
??? language='javascript'>setTimeout('',2000);</script>");
? 3).頁面轉(zhuǎn)向:
??? Response.Write("<meta http-equiv='refresh'
??? content='0;URL=./default.aspx'>");
??? 8.窗口傳制問題
? 這個問題比較煩,打開模態(tài)窗口(ShowModelDialog)
? 具體情況是這樣的,比如說A打開一個新窗口B,當(dāng)用戶對B操作完畢后,我們獲得必要的
? 數(shù)據(jù),自動將其賦給A中的TextBox等控件,這個過程是在客戶端完成的.就像發(fā)送郵件時,
? 需要從地址本中選取,然后將選中的發(fā)送地址傳回來.
? 1).在A中加入如下代碼,打開一個新窗口B.
???? Response.Write(@"<script language='javascript'>window.
??????? open('B.aspx','','toolbar=no,menubar=no,status=yes,location=no,
??????? resizable=no,scrollbars=no,width=500,height=350');</script>");
? 2).對B操作完畢,獲得必要數(shù)據(jù)tmpStr,然后將其賦值給A中的TextBox1
???? Response.Write(@"<script
??????? language='javascript'>opener.document.all.TextBox1.value
???????? ='" +tmpStr+"';</script>");
注意:這個過程是在客戶單用javascript完成的,因此我們不能按照服務(wù)端的編程習(xí)慣
以及不能使用web服務(wù)控件的服務(wù)端屬性進行操作.TextBox1是一個web服務(wù)控件,
其id為TextBox1,A頁面被服務(wù)器解析為html,通過瀏覽器瀏覽,TextBox1就變成了
純html控件,我們這里用javascript操作的也就是html控件,因此賦值使用的是
TextBox1的value屬性而不是Text屬性.另外,web服務(wù)器控件的id被解析成html后,
id有時會變,我們只要注意使用服務(wù)器解析后的id就成了,在瀏覽器中右鍵->查看源文件
即可得到 ,對第七種操作情況最好使用打開模態(tài)窗口windows.ShowModelDialog()
轉(zhuǎn)載于:https://www.cnblogs.com/hzuIT/articles/473611.html
總結(jié)
以上是生活随笔為你收集整理的asp.net窗体操作总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何打通高薪的黄金通道 成为职场金领
- 下一篇: 《Excel与VBA开发》一书上市时间