在ASP.NET開發中容易忽略的2個小問題

本文地址:http://www.cnblogs.com/outtamyhead/p/3642729.html,轉載需保留本地址。javascript

最近在個人MVC項目中出現了兩個很是小,可是每每惹出大麻煩的問題,借中午的時間在這裏記錄一下。html

一:在本地調試環境下可以正常讀取Cookie,但發佈到IIS中就不能讀取,報空指針異常。java

二:因爲使用的是Iframe框架,同時也加入了session超時從新登陸的限制,但登陸頁面會出如今Center中,十分尷尬。cookie

針對第一個問題,主要的問題出如今對Cookie沒有進行編碼和解碼。在沒有這兩個碼的時候,讀取Cookie的Value就會報空指針異常。因此,在使用Cookie的時候加上這兩個碼就行了。session

HttpCookie currentname = new HttpCookie("username", HttpUtility.UrlEncode(username));
//這段代碼是在過濾器中寫的
 string cookie_username = HttpUtility.UrlDecode(filterContext.RequestContext.HttpContext.Request.Cookies["username"].Value);

因此在這裏建議你們,爲了不出現無厘頭的事情,仍是不要偷懶。如今來看看MSDN對UrlEncode和UrlDecode的解釋。框架

須要注意的是,UrlEncode和UrlDecode要成對出現,這樣纔不會出現問題。編碼

關於更多說明,請看園子裏另外的文章點這裏這裏,兩篇文章同樣,可是不知道誰的是原版,o(╯□╰)ospa

針對第二個問題,相對的就簡單了,只須要在Login頁面中作判斷就好了。具體代碼以下:指針

<script language="javascript" type="text/javascript">
    if (window != top)
        top.location.href = location.href;
</script>
相關文章
相關標籤/搜索