首页 > 编程 > .NET > 正文

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

2024-07-10 13:07:12
字体:
来源:转载
供稿:网友
現在的 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+ 的規定或是可以隨便用? 如果一個 <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" %>


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




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

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

《asp.net 領先研究》go——————http://www.kj.com.tw/2001/book/f8917/f8917.htm

王国荣的网站____________________________http://www.kj.com.tw/2001/2001.htm

vb.net中文站____________________________http://vbnetcn.126.com




发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表