近日怕怕地對asp.net1.1的一個專案進行升級至2.0,由於對VS.NET2005及asp.net2.0還不是很熟悉,弄出了一堆問題:
1.標簽的規範化
原檔案中的html標簽如<HEAD></HEAD>等都要小寫;<br>-><br/>;<hr>-><hr/>;<meta...>-><meta.../>...
<style>-><style type="text/css">
<script language="javascript">-><script type="text/javascript" language="javascript">
含<html>...</html>之上要有<!DOCTYPE HTML PUBLIC "-//w3c//DTD HTML 4.0 Transitional//EN">
<input ...>-><input.../>等等
2.伺服器控件屬性中的""
runat=server->runat="server";width=80px->width="80px";...
3.TextBox的ReadOnly
對於用JS設定TextBox的值,在代碼中直接讀取不到了,而要改用如request.Form("TextBox1")或者request.Form(datagrid1.items(0).findcontrol("price").UniqueID)(升級後datagrid還可以使用
),其中該屬性不能直接使用JS值的原因在於http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=dbb417a2-487d-497e-90fa-39f0696374c64.Session丟失
2003用的很正常的session到了asp.net2.0時就會丟失,思歸這裏有參考http://blog.joycode.com/saucer/(根據session找)可以有解決的方法,但測試時偶爾還會發生
5.有些命名空間沒了,有些方法過時了
微軟的說明:http://msdn.microsoft.com/netframework/programming/obsoleteapi/
有些方法像page.IsStartupScriptRegistered->page.ClientScript.IsStartupScriptRegistered...
6.部署WEB安裝程式
2003可以部署安裝程式,其中代碼部分都含在dll中,下午試了一下2005可以隱藏起代碼,但不能執行了
這種方法還沒有研究出答案(有結果的朋友記得分享一下喔),另外一種方法是可以直接在專案上點[發行網站]即可將程式上傳到目的地,代碼也會隱藏的升級的結果還不算太可怕,特別讓我讚嘆的是水晶報表可以直接列印和匯出,不用再手寫代碼了,而且匯至EXCEL時空的欄位不會被擠掉啦