asp.net 單窗體模型

不可否認,對於具有asp或者jsp經驗的程序員來說,開始可能不太適應asp.net的但窗體模型.這些程序員在論壇或者新聞組經常會問這樣的問題:“窗體的Action屬性在哪裏?”以及“爲什麼我提交窗體時,不能重定向到一個特定頁面?”

asp.net頁面只支持一個服務器端<form>標籤。所有要與服務器交互的控件,必須全部置於該標籤中。窗體和控件都必須帶有runat=server屬性,否則會被視爲純文本,並被逐字輸出。在服務器端,窗體是htmlform類的實例,htmlform類沒有暴露任何相當於html<form>標籤的action屬性。其原因在於,asp.net頁面總是投遞給自己。除action屬性外,窗體其他常用屬性還是完全支持的。

不包含服務器端窗體的,以及使用html窗體(不帶runat屬性的<form>標籤)的頁面,也是有效的asp.net頁面。在asp.net頁面中,html和服務器窗體可以同時存在。然而只能有一個form標籤的runat屬性設置爲server。html窗體會像一般情況一樣,使我們能夠像程序中輸出任何頁面投遞。但這樣的問題在於,狀態信息不會被自動存儲。換言之,僅當窗體使用一個服務器form標籤時,asp.net web窗體模型纔會工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章