ASP+与VB.Net问答QA总汇
2024-07-10 12:57:45
供稿:网友
程式語言的基本屬於 .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+ 的規定或是可以隨便用? 如果一個 <script...> </script> 裡面有兩個 sub ...end sub,也是可以都用 sender、e 嗎?
a:
page_load 是 asp+ 預設的事件程序,事件程序跟副程式(函數)一樣會先定義參數(包含「個數」及「型別」),以 page_load 為例,參數有兩個,其型別分別等於 object 及 eventarges,至於參數的「名稱」則可以由我們自定,例如將:
sub page_load(sender as object, e as eventarges)
改成
sub page_load(p1 as object, p2 as eventarges)
也是可以的。至於兩個不同的sub都定義相同的sender參數「名稱」,是沒關係的。
--------------------------------------------------------------------------------
####################################################################################
grid8.aspx 程式的修改
--------------------------------------------------------------------------------
文件日期:2001/03/30
q:
有關第五章的 p.5-21 datagrid欄位的連結(程式位於 p5-23 的 grid8.aspx),我嘗試把「學號」的連結改為「姓名」的連結, 但皆顯示錯誤的訊息,我只是將:
<asp:boundcolumn datafield="學號" headertext="學號"/>
改成:
<asp:hyperlinkcolumn datatextfield="姓名"
headertext="姓名"
datanavigateurlfield="姓名"
datanavigateurlformatstring="students.aspx?id={0}"
target="_blank" />
另一方面studends.aspx的修改如下:
connstr = "provider=microsoft.jet.oledb.4.0; data source=" &
server.mappath("sample.mdb")
sql = "select * from 成績單 where 姓名=" & request("id")
a:
問題出在studends.aspx的修改:
sql = "select * from 成績單 where 姓名=" & request("id")
「學號」欄位是數值,但「姓名」欄位是字串,所以以上敘述正確的修改是:
sql = "select * from 成績單 where 姓名='" & request("id") & "'"
就是在 request("id") 前後加上單引號。
####################################################################################
我無法順利下載 .net framework beta1
--------------------------------------------------------------------------------
文件日期:2001/03/30
q:
依照「asp.net 領先研究」書上第二章 2-5 節上 msdn.microsoft.com/downloads/default.asp 下載 .net framework sdk beta1,因為 .net framework sdk beta1 太大,一直無法下載成功,是否有其他管道取得 .net framework sdk beta1 ?
我朋友有 visual studio.net beta 1,其中是否會有 .net framework sdk beta1?
a:
您也可以在 visual studio.net beta1 的「component update」光碟中找到 .net framework sdk beta1,位置就在這片光碟的/frameworksdk 目錄中。
--------------------------------------------------------------------------------
####################################################################################
現在用 asp.net 製作網頁好嗎?會不會現在寫出來的 asp.net 網頁到了正式版推出時完全都不能用了?
--------------------------------------------------------------------------------
文件日期:2001/01/29
asp.net 現在的版本是 beta 1,上一版是 preview 版,從 preview 版到 beta 1 版,確實有些程式必須修改,不過都是小地方,就比例來看,約有 10% 有修改。
asp.net 的下一版應該是 beta 2,然後是正式版,根據本站的判斷,目前 .net framework 的架構已經大致底定,比較容易變動的部分應該是 visual studio.net 的部分,而 asp.net 較接近 .net framework 的底層,因此可判斷的是將來的變動應該不大,以上意見謹供參考。
還有,本站近來開發的 asp 網頁,已經全部使用 asp.net 了。(當然,舊的 asp 網頁暫時就不變動了)
--------------------------------------------------------------------------------
####################################################################################
asp+ 的未來如何?
--------------------------------------------------------------------------------
文件日期:2001/01/29
以前 asp 是附屬於 iis 底下的小程式,現在 asp+ 則是附屬於 .net framework 的軟體(當然,還是需要藉助 iis 才能運作)。
可以確定的是 asp+ 將成為微軟 server 端製作網頁的主要工具,visual studio.net 也會支援 asp+ 網頁的編輯,所以 asp+ 網頁的開發將變得更容易。
如果您的 web server 採用的是 windows 2000 或 nt,那麼以 asp+ 為網頁製作工具是無庸置疑的。
--------------------------------------------------------------------------------
####################################################################################
該學 asp 還是 asp+?
--------------------------------------------------------------------------------
文件日期:2001/01/29
目前(2001年 1 月)對於該學 asp 還是 asp+?的確是很尷尬的事情。
從功能來看,asp+ 優於 asp 甚多,且 asp 的網頁完全相容於 asp+,所以學 asp+ 是無庸置疑的選擇,但問題是 asp+ 的書籍很少,據本站所知,目前市面上的 asp+ 書籍只有兩本,一本為 asp.net 領先研究(王國榮著),一本為 a preview of active server pages+(原文書, wrox 出版),但這兩本都不是為初學者所寫的書。
如果您可以等待,asp+ 正式版約 8 月份上市,預計到時候會有很多 asp+ 的書籍出版,asp+ 網頁製作教本(為初學者寫的書)也會在這個時候出版,或者現在先學 asp 為自己奠定一點基礎,將來學 asp+ 會比較輕鬆一點,應該不會浪費時間。
--------------------------------------------------------------------------------
####################################################################################
為何 asp.net 領先研究沒有介紹「視覺化的編輯工具」?
--------------------------------------------------------------------------------
文件日期:2001/01/29
在 .net framework beta 1 版本中,微軟所提供可下載的軟體有 .net framework sdk 及 visual studio.net,其中 visual studio.net 提供有視覺化編輯工具可以直接編輯 .aspx 檔案,其操作介面類似 vb,很容易使用,不過 visual studio.net 只提供給 msdn universal 訂戶下載,一般讀者不容易取得,故 asp.net 一書暫時沒有介紹。
將來 visual studio.net 正式上市或是有提供給一般用戶下載時,本站將會另外撰稿或撰書介紹。
--------------------------------------------------------------------------------
####################################################################################
請問 asp.net 領先研究中第 6 章的 score.xml 檔是如何製作的?
--------------------------------------------------------------------------------
文件日期:2001/01/29
程式碼如下:
dim fs as filestream
dim writer as streamwriter
dim path as string
dim connstr as string
dim cmd as adodatasetcommand
dim ds as dataset = new dataset()
connstr = "provider=microsoft.jet.oledb.4.0;" & _
"data source=" & server.mappath("sample.mdb")
cmd = new adodatasetcommand( "select * from 成績單", connstr )
cmd.filldataset(ds, "成績單")
path = server.mappath( "score.xml" )
fs = new filestream(path, filemode.create, fileaccess.write)
writer = new streamwriter(fs, encoding.default)
ds.writexml(writer)
以上程式將會開啟 sample.mdb 資料庫的「成績單」資料表,然後將其儲存成 score.xml 檔案。
註:請記得在 .aspx 檔案的最前面加上:
<%@ import namespace="system.io" %>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.ado" %>