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窗体模型才会工作。

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