日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Response.Write()方法响应导致页面内容变形的问题

發布時間:2024/9/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Response.Write()方法响应导致页面内容变形的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Response.Write()方法響應導致頁面內容變形的問題

來源: 張林§的日志

= = 原來是這樣……我說CSS怎么都失效了呢。。坑爹的ASP.NET

首先是js彈出系統提示窗口的解決

Response.Write的確可以輸出Javascript腳本。但是這樣做會使得頁面的CSS樣式徹底失效。 如果你是Asp.net 2.0,則可以通過下面的代碼實現執行JS腳本: ClientScript.RegisterStartupScript(this.GetType(),"alt","alert('這樣執行腳本CSS不失效')",true);

?

然后是頁面的跳轉

轉自:http://liulili2005cn.blog.163.com/blog/static/181475512011312844338/

比方說在頁面里面有個LinkButton,要點擊以后要打開新窗口,而且新窗口的URL是根據用戶選擇結果動態產生的。LinkButton的代碼這樣寫: ??? protected void ServiceManHistoryButton_Click(object sender, EventArgs e) ??? { ??????? Response.Write("<script>window.open('EquipmentHistory.aspx?eid=" + ServiceManDropDownList.SelectedValue + "');</script>"); ???? } 運行以后會發現,新窗口是打開了,但是原來頁面的字體變大了,奇怪的問題! 有人想也不想就說是CSS沒設置好,對這些人我很無語,求教的時候最怕遇到他們 實際原因是直接Response.write輸出腳本代碼到頂部,打亂了文檔模型,所以造成了這樣的結果。
OK,解決方法有兩個。
方法一:把Response.Write()語句替換為這個 Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('EquipmentHistory.aspx?eid=" + ServiceManDropDownList.SelectedValue + "');</script>");
這個方法用于在頁響應中發出客戶端腳本塊,前一個參數是該Script在頁面中的唯一名稱(隨便起,不重復就行),后一個是腳本內容。
這個方法應該是微軟官方推薦的方法。
方法二:在原程序的Response.Write()語句后再加一句
Response.Write("<script>document.location=document.location;</script>");
想出這個辦法的人真高!但是如果在一個輸入頁面,有多提醒狀態下,使用這個辦法會導致頁面內容清空哦 哈

源地址:http://blog.renren.com/GetEntry.do?id=731210778&owner=271653490

總結

以上是生活随笔為你收集整理的Response.Write()方法响应导致页面内容变形的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。