王国荣之ASP+与VB.Net问答QA总汇

王国荣之ASP+与VB.Net问答QA总汇

**_
由hejianzhong整理 版权归原作者所有
_ **

###################################################################################

現在的 VB7 (Beta 1)與將來發表的 VB7(正式版),在用法上會不會有很多不一樣的地方?

--------------------------------------------------------------------------------

文件日期:2001/01/29

程式語言的基本屬於 .NET Framework 較底層的部分,如果這個部分會有很大的變動,架構在 .NET Framework 上面的工具其變動將更大,因此,據研判將來 VB7 在語法上的變動應該很小,或者就不再變動了。

###################################################################################

安裝 .NET SDK之後,VB6是不是就會成為VB.NET,會不會影響VB6原來的程式的運作?

--------------------------------------------------------------------------------

文件日期:2001/02/06

安裝 .NET SDK 之後,VB6 不會成為 VB.NET,VB.NET Beta 1 附屬於 Visual Studio.NET Beta 1,而 Visual Studio.NET Beta 1 有 3 片光碟片。

###################################################################################

在Win2000 Server 是否有提供以網頁上傳檔案的功能,如果仍未提供,除了從 NT4.0 升級 2000 的方法外,是否有替代方案?

--------------------------------------------------------------------------------

文件日期:2001/02/06

ASP.NET 領先研究一書 8-1 節就有介紹 ASP+ 的檔案上傳功能(不管在 NT 4.0 或 2000 底下都可以正常運作)。

--------------------------------------------------------------------------------
###################################################################################

第二章所提到的 config.web 檔案是否要每個目錄都放一個,或是放在一個目錄後,其餘的子目錄都不用放了,另外,虛擬目錄要不要放?

--------------------------------------------------------------------------------

文件日期:2001/02/19

config.web 的效力及於其子目錄,如果放在 aaa 目錄,則 aaa 的子目錄就可以不用再放了,但如果 aaa 的子目錄想要有自己的設定,則可以在自己的目錄放置另一個 config.web 檔案。

最特殊的目錄是 wwwroot 目錄(若安裝時未做改變,預設目錄為 c:\Inetpub\wwwroot),放在 wwwroot 目錄的config.web檔案其效力則及於wwwroot的所有子目錄所有虛擬目錄。

####################################################################################

ASP 網頁中的 Session 變數似乎不能傳遞至 ASP+ 網頁中,還是另有其他方式可讀取?

--------------------------------------------------------------------------------

文件日期:2001/02/19

Session 在 ASP 及 ASP+ 之中確實是不相通的,但 Cookie 卻是相通的,因為 Cookie 是儲存在瀏覽器之中,您可以您可以改以 Cookie 取代 Session。

--------------------------------------------------------------------------------
####################################################################################

ASP 之中儲存及讀取 Cookie 的敘述好像不適用於 ASP+?

--------------------------------------------------------------------------------

文件日期:2001/02/19

在 ASP 網頁製作教本中,讀取及儲存 Cookie 的敘述如下:

data1 = Request.Cookies("data1")
Response.Cookies("data1") = data1

而這兩個敘述等於:(註:其中的 Value 是 Cookie 預設的屬性)

data1 = Request.Cookies("data1").Value
Response.Cookies("data1").Value = data1

但是在 ASP+ 並不接受預設的屬性,所以:

data1 = Request.Cookies("data1") ' 錯誤
Response.Cookies("data1") = data1 ' 錯誤

data1 = Request.Cookies("data1").Value ' 正確
Response.Cookies("data1").Value = data1 ' 正確

####################################################################################

如果一個 aspx 網頁使用兩個以上的 Pagelet(Pagelet 介紹於第 7 章),而其中的函數重複(例如兩個 Pagelet 都有定義 Page_Load 事件程序),是否會有衝突?

--------------------------------------------------------------------------------

文件日期:2001/02/19

不同 Pagelet 的副程式(函數)是各自獨立的,因此可以有各自的 Page_Load 事件程序。

--------------------------------------------------------------------------------

####################################################################################

在 Asp+ 裡要加上註解是如同 Asp 的規則嗎?

--------------------------------------------------------------------------------

文件日期:2001/02/19

跟 ASP 一樣,如果在 VB 程式中加註,也是使用單引號('),如果在 HTML 文件中加註,也是使用

--------------------------------------------------------------------------------

####################################################################################

在 Asp+ 裡如果一行太長的話,是不是可在任何地方將它移到下一行,而不必如 VB 一樣在第一行的行尾加上 ''_'' 符號..?

--------------------------------------------------------------------------------

文件日期:2001/02/19

一樣要使用 _。

####################################################################################

Page_load 事件程序的參數

--------------------------------------------------------------------------------

文件日期:2001/03/30

Q:
Page_load(sender As Object, e AS EventArges) 裡面都是用 sender 及 e,這是 ASP+ 的規定或是可以隨便用? 如果一個

  1<script...>  裡面有兩個 Sub ...End Sub,也是可以都用 sender、e 嗎?   
  2  
  3A:   
  4Page_Load 是 ASP+ 預設的事件程序,事件程序跟副程式(函數)一樣會先定義參數(包含「個數」及「型別」),以 Page_Load 為例,參數有兩個,其型別分別等於 Object 及 EventArges,至於參數的「名稱」則可以由我們自定,例如將:   
  5  
  6Sub Page_load(sender As Object, e AS EventArges)   
  7  
  8改成   
  9  
 10Sub Page_load(P1 As Object, P2 AS EventArges)   
 11  
 12也是可以的。至於兩個不同的Sub都定義相同的sender參數「名稱」,是沒關係的。   
 13  
 14\--------------------------------------------------------------------------------   
 15  
 16  
 17  
 18####################################################################################   
 19  
 20grid8.aspx 程式的修改   
 21  
 22\--------------------------------------------------------------------------------   
 23  
 24文件日期:2001/03/30   
 25  
 26  
 27Q:   
 28有關第五章的 p.5-21 DataGrid欄位的連結(程式位於 p5-23 的 grid8.aspx),我嘗試把「學號」的連結改為「姓名」的連結, 但皆顯示錯誤的訊息,我只是將:   
 29  
 30<asp:boundcolumn datafield="學號" headertext="學號"></asp:boundcolumn>   
 31  
 32改成:   
 33  
 34<asp:hyperlinkcolumn datanavigateurlfield="姓名" datanavigateurlformatstring="students.aspx?id={0}" datatextfield="姓名" headertext="姓名" target="_blank"></asp:hyperlinkcolumn>   
 35  
 36另一方面studends.aspx的修改如下:   
 37  
 38ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &amp;   
 39Server.MapPath("Sample.mdb")   
 40SQL = "Select * From 成績單 Where 姓名=" &amp; Request("id")   
 41  
 42A:   
 43問題出在studends.aspx的修改:   
 44  
 45SQL = "Select * From 成績單 Where 姓名=" &amp; Request("id")   
 46  
 47「學號」欄位是數值,但「姓名」欄位是字串,所以以上敘述正確的修改是:   
 48  
 49SQL = "Select * From 成績單 Where 姓名='" &amp; Request("id") &amp; "'"   
 50  
 51就是在 Request("id") 前後加上單引號。   
 52  
 53  
 54####################################################################################   
 55  
 56我無法順利下載 .NET Framework Beta1   
 57  
 58\--------------------------------------------------------------------------------   
 59  
 60文件日期:2001/03/30   
 61  
 62  
 63Q:   
 64依照「ASP.NET 領先研究」書上第二章 2-5 節上 msdn.microsoft.com/downloads/default.asp 下載 .NET Framework SDK Beta1,因為 .NET Framework SDK Beta1 太大,一直無法下載成功,是否有其他管道取得 .NET Framework SDK Beta1 ?   
 65  
 66我朋友有 Visual Studio.NET Beta 1,其中是否會有 .NET Framework SDK Beta1?   
 67  
 68A:   
 69您也可以在 Visual Studio.NET Beta1 的「Component Update」光碟中找到 .NET Framework SDK Beta1,位置就在這片光碟的\FrameworkSDK 目錄中。   
 70  
 71\--------------------------------------------------------------------------------   
 72  
 73  
 74####################################################################################   
 75  
 76現在用 ASP.Net 製作網頁好嗎?會不會現在寫出來的 ASP.Net 網頁到了正式版推出時完全都不能用了?   
 77  
 78\--------------------------------------------------------------------------------   
 79  
 80文件日期:2001/01/29   
 81  
 82  
 83ASP.NET 現在的版本是 Beta 1,上一版是 Preview 版,從 Preview 版到 Beta 1 版,確實有些程式必須修改,不過都是小地方,就比例來看,約有 10% 有修改。   
 84  
 85ASP.NET 的下一版應該是 Beta 2,然後是正式版,根據本站的判斷,目前 .NET Framework 的架構已經大致底定,比較容易變動的部分應該是 Visual Studio.NET 的部分,而 ASP.NET 較接近 .NET Framework 的底層,因此可判斷的是將來的變動應該不大,以上意見謹供參考。   
 86  
 87還有,本站近來開發的 ASP 網頁,已經全部使用 ASP.NET 了。(當然,舊的 ASP 網頁暫時就不變動了)   
 88  
 89\--------------------------------------------------------------------------------   
 90  
 91  
 92####################################################################################   
 93  
 94  
 95ASP+ 的未來如何?   
 96  
 97\--------------------------------------------------------------------------------   
 98  
 99文件日期:2001/01/29   
100  
101  
102以前 ASP 是附屬於 IIS 底下的小程式,現在 ASP+ 則是附屬於 .NET Framework 的軟體(當然,還是需要藉助 IIS 才能運作)。   
103  
104可以確定的是 ASP+ 將成為微軟 Server 端製作網頁的主要工具,Visual Studio.NET 也會支援 ASP+ 網頁的編輯,所以 ASP+ 網頁的開發將變得更容易。   
105  
106如果您的 Web Server 採用的是 Windows 2000 或 NT,那麼以 ASP+ 為網頁製作工具是無庸置疑的。   
107  
108\--------------------------------------------------------------------------------   
109  
110  
111####################################################################################   
112  
113該學 ASP 還是 ASP+?   
114  
115\--------------------------------------------------------------------------------   
116  
117文件日期:2001/01/29   
118  
119  
120目前(2001年 1 月)對於該學 ASP 還是 ASP+?的確是很尷尬的事情。   
121  
122從功能來看,ASP+ 優於 ASP 甚多,且 ASP 的網頁完全相容於 ASP+,所以學 ASP+ 是無庸置疑的選擇,但問題是 ASP+ 的書籍很少,據本站所知,目前市面上的 ASP+ 書籍只有兩本,一本為 ASP.NET 領先研究(王國榮著),一本為 A Preview of Active Server Pages+(原文書, Wrox 出版),但這兩本都不是為初學者所寫的書。   
123  
124如果您可以等待,ASP+ 正式版約 8 月份上市,預計到時候會有很多 ASP+ 的書籍出版,ASP+ 網頁製作教本(為初學者寫的書)也會在這個時候出版,或者現在先學 ASP 為自己奠定一點基礎,將來學 ASP+ 會比較輕鬆一點,應該不會浪費時間。   
125  
126  
127\--------------------------------------------------------------------------------   
128  
129  
130  
131  
132####################################################################################   
133  
134  
135為何 ASP.NET 領先研究沒有介紹「視覺化的編輯工具」?   
136  
137\--------------------------------------------------------------------------------   
138  
139文件日期:2001/01/29   
140  
141  
142在 .NET Framework Beta 1 版本中,微軟所提供可下載的軟體有 .NET Framework SDK 及 Visual Studio.NET,其中 Visual Studio.NET 提供有視覺化編輯工具可以直接編輯 .aspx 檔案,其操作介面類似 VB,很容易使用,不過 Visual Studio.NET 只提供給 MSDN Universal 訂戶下載,一般讀者不容易取得,故 ASP.NET 一書暫時沒有介紹。   
143  
144將來 Visual Studio.NET 正式上市或是有提供給一般用戶下載時,本站將會另外撰稿或撰書介紹。   
145  
146  
147\--------------------------------------------------------------------------------   
148  
149####################################################################################   
150  
151請問 ASP.NET 領先研究中第 6 章的 score.xml 檔是如何製作的?   
152  
153\--------------------------------------------------------------------------------   
154  
155文件日期:2001/01/29   
156  
157  
158程式碼如下:   
159  
160Dim fs As FileStream   
161Dim writer As StreamWriter   
162Dim Path As String   
163Dim ConnStr As String   
164Dim Cmd As ADODataSetCommand   
165Dim ds As DataSet = new DataSet()   
166  
167ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" &amp; _   
168"Data Source=" &amp; Server.MapPath("Sample.mdb")   
169  
170Cmd = New ADODataSetCommand( "Select * from 成績單", ConnStr )   
171Cmd.FillDataSet(ds, "成績單")   
172  
173Path = Server.MapPath( "Score.xml" )   
174fs = New FileStream(Path, FileMode.Create, FileAccess.Write)   
175writer = New StreamWriter(fs, Encoding.Default)   
176  
177ds.WriteXml(writer)   
178  
179以上程式將會開啟 Sample.mdb 資料庫的「成績單」資料表,然後將其儲存成 Score.xml 檔案。   
180  
181註:請記得在 .aspx 檔案的最前面加上:   
182  

@ Import Namespace="System.IO"

@ Import Namespace="System.Data"

@ Import Namespace="System.Data.ADO"

 1  
 2  
 3\--------------------------------------------------------------------------------   
 4  
 5  
 6  
 7  
 8####################################################################################   
 9  
10####################################################################################   
11
12
13《ASP.NET 領先研究》GO—————— http://www.kj.com.tw/2001/book/F8917/F8917.htm 
14
15王国荣的网站____________________________ http://www.kj.com.tw/2001/2001.htm 
16
17VB.Net中文站____________________________ http://vbnetcn.126.com</script...>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus