當前位置:首頁 » 網頁前端 » webform框架圖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

webform框架圖

發布時間: 2022-06-18 18:41:07

❶ webForm 如何將div作為彈出窗體

這個很簡單啊,通過Jquery框架就行了啊!下面是對話框最簡單的樣式了,其他的樣式刻一自己設置

html上引入:

<link href="easyui.css" rel="Stylesheet" type="text/css" />//這個可以網上下載(上傳的文件裡面有)

<script type="text/javascript" src="jquery-1.8.0.min.js"></script>//這個可以網上下載(上傳的文件裡面有)

<script type="text/javascript" src="jquery.easyui.min.js"></script>//這個可以網上下載(上傳的文件裡面有)


<div><button onclick="showdig()">dialog</button></div>//當點擊時彈出對話框

<div id="dlg" title="對話框" style="width:400px; height:300px; display:none; position:absolute"></div>//這個就是對話框了


<script type="text/javascript">

function showdig() {

$("#dlg").dialog({ model: true });//加上這句就OK了,這句最重要

$(".panel-tool-close").css({ background: 'url("../img/panel_tools.gif")' });//這句是給關閉對話框加個關閉的圖片

}

</script>


發個小demo給你吧

❷ C# Webform 組織結構圖 用什麼控制項

1.用TreeView可以實現組織結構圖,不過不怎麼美觀。
2.最好是自己先構建一個組織結構圖,然後用pickerbox控制項+label控制項去實現組織結構圖,美觀,如果要動態的就使用sql存儲組織結構,同時存儲圖片文字及其關聯。

結論:如果用方法2比較費時間,但是做出來的效果一定很好看。

❸ 如何在WebForm上顯示圖像縮略圖

可以參考以下的方法:
右鍵計算機,選擇屬性。

選擇高級系統設置。
選擇高級選項卡。

在視覺效果中選擇自定義下面的:顯示縮略圖,而不是顯示圖標。
點擊確定。

❹ 請問怎麼製作WebForm的圖片和文件上傳功能

C#上傳處理代碼:
foreach (string file in Request.Files)
{
var hpf = this.Request.Files[file];
if (hpf.ContentLength == 0)
{
continue;
}
string savedFileName = Path.Combine(
AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(hpf.FileName));
hpf.SaveAs(savedFileName);
}
要上傳文件或圖片,直接二進制方式存放到資料庫?那就沒存成文件。

❺ c#webform 表格布局

webform可以用table布局,最好是自己先構建一個組織結構圖,然後用pickerbox控制項+label控制項去實現組織結構圖。

❻ 怎樣區分webform和mvc

MVC與WebForm最大的區別

使用ASP.NET MVC框架,創建默認項目,第一直觀感覺就是地址都是Rewrite過的。對源碼和配置文件稍加分析不難看出,MVC使用了httpMoles來攔截地址請求,具體用到了System.Web.Routing類庫(MVC2中,MVC1怎麼用的忘記了。)而這部分類庫被包裝在.NET Framework3.5 SP1中,MVC2需要SP1支持也就理所當然了。SP1提供的System.Web.Routing類庫可以方便地進行地址請求攔截,對編碼處理方面也很優秀。UrlRoutingMole類攔截請求,在這之前,Application_Start的時候,會給RouteTable的全局對象一個攔截的設置。而這個設置使用RouteCollection對象進行保存,MVC對這個類進行了擴展——RouteCollectionExtensions。這些可以不考慮,接下來,當用戶訪問頁面時,UrlRoutingMole類攔截請求,在RouteTable中查看是否符合規則,符合的話,就會調用MvcHandler,這個調用在httpHandlers配置節點被注冊,條件是地址符合「*.mvc」規則。MvcHandler的ProcessRequest方法就會調用Controller來執行。事實上整個過程都是黑盒子,用戶感覺不到。在Controller中某方法執行後,返回結果,再進入具體的aspx頁面。

分析了MVC的工作工程,就可以對比其與WebForm的區別了。我們知道,MVC模式的業務被放置到Controller中去執行,而aspx頁面只負責顯示。那麼在MVC中的業務實際執行時間被提前到了HttpMolde中,而WebForm的請求只在httpHandler容器中被執行。也就是說MVC中Controller與View的分離是使用的ASP.Net請求管道隔離的,這樣的話無疑在不影響效率(一次請求,而Response.Redirect是二次請求)的情況下達成了代碼的邏輯層次的分離。


圖1 MVC工作模型

MVC工作的優點是顯然的,更加有利於理解分層邏輯,把握代碼的層次感。Controller到aspx頁面之間的過程,已經被框架隔離。至於Controller或者View頁面與Model調用的過程,還是需要自己來把握。ASP.NET的MVC框架實現了Controller代碼的單獨管理。

而看WebForm開發模型,則只在HttpHandler容器中執行,對其進行分層,在大的方面缺乏支持,而只能依靠邏輯上分離。並不是不能分離,而是由一定的局限性。HttpHandler的攔截,是跟訪問後綴名有關的。當請求一個頁面時,那就是一個Handler,而WebForm模型實現顯示與邏輯分離,才有的是WinForm的事件驅動。顯然,事件必須被注冊到頁面里,比如Button1_Click這樣的代碼。而在Button1_Click執行之前,Page_Load方法會被執行。顯示代碼被寫入Page_Load方法中,那麼就會造成需要寫額外的廢代碼,比如if (!Page.IsPostBack)這樣的判定。而在Button1_Click執行後需要顯示的部分,則比較難處理,寫出另一個方法,也是必須要在Button1_Click里調用的。替代的解決方案是使用Response.Redirect,在一個aspx頁面中處理邏輯,處理完就跳轉到另外一個顯示的頁面。這樣做的壞處是,在兩個頁面中數據很難共享,而跳轉是通過標記302來實現,因此多一次請求。而另外還可以通過Server.Execute,Server.Transfer或者Context.RewritePath這樣的處理方式,則兩個頁面轉換是在伺服器端完成,可以共享數據,可以說和MVC框架的處理方式大同小異,缺點是需要手動配置這些重新定向的屬性。

從以上分析可以看出,MVC框架具有很強的優越性,而WebForm也不是一無是處,在簡單的應用中更加容易開發。WebForm也是可以實現和MVC一樣的分層方式,只是處理時需要多寫一些代碼而已。而我認為,在用WebForm開發分層遇到的最大問題是頁面與頁面之間數據的傳遞問題,而掌握好WebForm中使用伺服器端跳轉的應用技巧(Server.Execute,Server.Transfer或者Context.RewritePath)進行開發就可以解決數據傳輸問題,用WebForm開發比MVC框架更容易理解,不會產生復雜的配置,也是一個很不錯的選擇

❼ 怎麼創建一個webform程序

如何創建 Web 應用程序項目在本節中,創建表示應用程序的用戶界面的 Visual C# 或 Visual Basic Web
應用程序項目。在 Web 窗體頁上,將放置 DataSet、DataGrid 和 DataView
以查看資料庫中的特定表。您還將在創建包含數據源的數據訪問對象的位置添加組件。創建 Web
窗體在「文件」菜單上,單擊「新建」,然後單擊「項目」。將出現「新建項目」對話框。在「項目類型」窗格中,單擊「Visual
Basic 項目」或「Visual C# 項目」,並在「模板」窗格中選擇「ASP.NET Web 應用程序」。將應用程序命名為
MyWebForm。單擊「確定」按鈕。應用程序向導將創建必要的項目文件,包括下列文件:WebForm1.aspx
— 包含 Web 窗體的可視化表示形式。WebForm1.aspx.cs 或 WebForm1.aspx.vb —
代碼隱藏文件,包含用於事件處理和其他編程任務的代碼。若要在解決方案資源管理器中查看此文件,請單擊「顯示所有文件」圖標,然後展開 WebForm1.aspx
節點。Web 窗體文件注意
如果解決方案資源管理器沒有打開,請在「視圖」菜單上單擊「解決方案資源管理器」。有關創建 Web 應用程序項目的更多詳細信息,請參見創建
Web
項目。添加組件在解決方案資源管理器中,右擊項目名稱。在快捷菜單上單擊「添加」,然後單擊「添加組件」。出現「添加新項」對話框,並且默認情況下將選中右窗格中的「組件類」。接受默認名稱
(Component1) 並單擊「打開」。除非為組件選擇其他名稱,否則這將在項目中創建名為 Component1.cs 或
Component1.vb 的新文件,具體取決於應用程序語言。組件設計器在 Component1.cs 或 Component1.vb
上打開設計視圖。創建數據訪問組件數據集可以用於將數據值綁定到傳輸給客戶端的 HTML。它既可以在 Web
窗體本身也可以在組件上創建。為模擬實際情況,將在組件上創建它。還將編寫必要的代碼以便用資料庫中的數據填充數據集。添加和配置數據源在「視圖」菜單上單擊「工具箱」。從工具箱的「數據」選項卡中,將
sqlDataAdapter
拖到組件設計器表面。「數據適配器配置向導」出現。單擊「下一步」前進到「選擇您的數據連接」頁,然後單擊「新建連接」。即會出現「數據鏈接屬性」對話框。在「數據鏈接屬性」對話框的「連接」選項卡中:輸入安裝了
pubs 資料庫的伺服器的名稱。輸入伺服器的登錄信息。從資料庫列表中選擇
pubs。單擊「測試連接」按鈕測試數據鏈接。單擊「確定」返回到向導。數據連接的名稱出現在下拉列表中。注意
如果不知道 SQL Server pubs
資料庫的用戶名和密碼,請與資料庫管理員聯系。數據鏈接屬性單擊「下一步」前進到「選擇查詢類型」頁。選擇「使用
SQL 語句」,然後單擊「下一步」。在「生成 SQL
語句」頁中單擊「查詢生成器」。在「添加表」對話框的「表」選項卡中,單擊「titles」,單擊「添加」,然後單擊「關閉」。這將「titles」表添加到
SQL
查詢中。在「查詢生成器」對話框中,如下圖所示,選擇「title_id」、「title」、「price」、「notes」和「pubdate」復選框,然後單擊「確定」生成
SQL 語句並返回到「數據適配器配置向導」。查詢生成器「生成 SQL 語句」頁顯示生成的 SQL
語句。單擊「完成」退出「數據適配器配置向導」並將數據源連接到「titles」表。將下列對象添加到組件設計器表面:sqlDataAdapter1sqlConnection1另一種方法是,可以使用伺服器資源管理器同時創建
sqlDataAdapter1 和 sqlConnection1 對象。為此,展開「SQL Server」樹以顯示伺服器、pubs 資料庫和 titles
表,如下圖所示。展開 titles 並選擇所需要的列,然後將它們拖到組件設計器表面。伺服器資源管理器
可以在 Component1.cs 文件的 InitializeComponent 方法(或 Component1.vb 文件的
InitializeComponent 子常式)中查看生成的代碼。為此,通過在解決方案資源管理器中右擊 Component1.cs(或
Component1.vb)切換到代碼視圖,然後在快捷菜單中單擊「查看代碼」。單擊「文件」菜單上的「全部保存」保存項目。生成和填充數據集如果組件設計器不可見,則請在解決方案資源管理器中雙擊文件

❽ 如何在webform上添加activex

你好!
ActiveX技術雖然是一項古老的技術,但是卻有著廣泛的應用,支付寶的密碼輸入控制項,各大銀行的密碼輸入控制項,網頁聊天室中的截屏功能,網頁播放器中的p2p播放...甚至Flash,Silverlight等等,在IE中都表現為ActiveX。雖然C#也能開發"用於網頁的com應用",能達到類似ActiveX的效果,但是有一個要命的問題是必須得安裝幾百M的.net Framework框架,如果僅僅為了安全的輸入一個密碼,而要用戶下載幾百M的安裝程序,這是很多人不能接受的,Delphi做為win32下的原生開發工具,能很好的支持微軟各種"古老"的經典技術。(再做點小廣告:delphi的kyrix版本還能編譯跨平台的應用哦!)
ok,開工吧:

開發工具:推薦用delphi 2010(d7也可以,不過添加屬性,方法等過程要手動,稍微麻煩點)

1.啟用delphi2010-->File->New->Other-->Active Library

2.項目命名為MyActiveX

3.File-->Save All 全部保存

實際上這樣就能編譯了,不過只是空的dll

4.File-->New-->Other-->Active Form

改名為MyForm

將對應的單元文件,保存為UMyForm.pas

5.打開MyAcitveX.ridl文件,切換到design視圖,選中IMyForm介面,右擊New-->Property
添加一個屬性Msg

將Msg屬性的Type改為BSTR 即WideString類型

完了之後,點擊工具欄中的Refresh
Implementation(即上圖中工具欄中圈起來的部分)--這一步很重要,點擊之後,它將自動生成屬性Msg對應的聲明和實現代碼模板

6.打開UMyForm.pas--即ActiveForm對應的單元,找到Set_Msg以及Get_Msg的實現部分,補充代碼如下:

functionTMyForm.Get_Msg:WideString;
begin
result:=_msg;
end;
procereTMyForm.Set_Msg(constValue:WideString);
begin
_msg:=value;
end;

當然TMyForm的private部分,得先加一個私有成員

type
TMyForm=class(TActiveForm,IMyForm)
private
{Privatedeclarations}
_msg:WideString;
...

這樣我們就為即將生成的ActiveX控制項,添加了一個字元串類型的屬性Msg,下面來測試一下:

7.編譯項目,會生成一個MyActiveX.ocx,在運行欄里輸入

regsvr32 C:\Users\jimmy.yang\Desktop\Delphi_activex\MyActiveX\MyActiveX.ocx

注:這里ocx的路徑,請各位根據自己的實際路徑修改

這樣就完成了ocx的注冊。

8.放到html里測試一下:

<OBJECTID='x'name='x'CLASSID='CLSID:52D17094-0687-4A2F-B2DB-30F3189AC659'align=centerhspace=0vspace=0></OBJECT>
<scripttype='text/JavaScript'>
varx=document.getElementById("x");
alert(x.Msg);
</script>

關於CLSID在哪裡查看,打開:MyActiveX_TLB.pas文件,定位到下面這里:

const
//
MyActiveXMajorVersion=1;
MyActiveXMinorVersion=0;
LIBID_MyActiveX:TGUID='{49138437-8265-4B1A-9EAE-D0F615D68464}';
IID_IMyForm:TGUID='{54A20855-29A3-4C92-85DE-A419DA457C7A}';
DIID_IMyFormEvents:TGUID='{60BBC967-E1E6-4E98-BAE5-776BFD06E9CC}';
CLASS_MyForm:TGUID='{52D17094-0687-4A2F-B2DB-30F3189AC659}';

其中 CLASS_MyForm: TGUID對應的就是ClassID

運行後,除了彈出一個空白的警告框,暫時看不到其它:)(可不就是這樣么?Msg屬性沒給任何初始值,當然是空字元串,所以彈出一個空的警告框是正常的)

9.我們再來添加一些控制項和方法,以驗證剛才設置的屬性確實有效

在MyForm上添加一個文件框,一個按鈕按鈕的事件如下:

procereTMyForm.Button1Click(Sender:TObject);
begin
_msg:=self.Edit1.Text;
end;

即把文本框的值賦給屬性Msg

再繼續定位到Set_Msg,略做修改

procereTMyForm.Set_Msg(constValue:WideString);
begin
_msg:=value;
self.Edit1.Text:=_msg;
end;

即設置Msg屬性時,同時也把值顯示在文本框里,以便等會兒我們好測試在js中給activeX屬性賦值的效果

ok了,再來測試一下,編譯一下,如果通不過,請先運行

regsvr32 C:\Users\jimmy.yang\Desktop\Delphi_activex\MyActiveX\MyActiveX.ocx /u

將剛才注冊的ocx反注冊,同時關掉瀏覽器,不然該ocx文件一直被佔用,無法更新.

修改一下html的代碼:

<OBJECTID='x'name='x'CLASSID='CLSID:52D17094-0687-4A2F-B2DB-30F3189AC659'align=centerhspace=0vspace=0></OBJECT>
<hr/>
<inputtype='button'value='顯示Msg屬性的值'onclick='ShowMsg()'/>
<inputtype='button'value='設置Msg屬性的值'onclick='SetMsg()'/>
<scripttype='text/JavaScript'>
varx=document.getElementById("x");
varShowMsg=function(){
alert(x.Msg);
}
varSetMsg=function(){
x.Msg='js傳過來的值';
}
</script>

❾ WebForms是什麼

webform:微軟.net平台下web開發的一種技術(框架)
這種框架的優點主要有:
事件模型。 Web 窗體支持與 Windows 應用程序類似的事件驅動編程模式。 許多事件可用,數百個伺服器控制項對它們提供支持。
狀態管理。 Web 窗體通過使用視圖狀態和基於伺服器的控制項降低了狀態管理的復雜性。
基於頁面的體系結構。 Web 窗體提供了一種體系結構,此體系結構將含聲明性標記的頁面(.aspx 文件)與添加功能的代碼隱藏文件相結合。 通過使用此結構,可以輕松地創建能夠執行常規任務(如對用戶操作作出響應以及呈現伺服器代碼中的標記)的頁面。
大批控制項。 ASP.NET 社區提供了數百個可減少開發時間的伺服器控制項和組件。
也正因為這些優點,能夠很快的使用Web窗體框架開發應用程序。

❿ 什麼時候該用MVC,什麼時候該用Webform

這個要看具體的應用情況,一般創建 MVC 應用程序時

您必須仔細考慮是使 用 ASP.NET MVC 框架還是使用 ASP.Net Web 窗
體模型來實現 Web 應用程序。MVC 框架未取代 Web 窗體模型;您可以
對 Web 應用程序使用任一框架。(如果您具有現有的基於 Web 窗體的應用程序,則這些應用程序將完全按照它們一貫的方式繼續工作。)在決定對特定
網站使用 MVC 框架或 Web 窗體模型之前,請權衡各種方法的優點。

基於 MVC 的 Web 應用程序的優點

ASP.NET MVC 框架具有以下優點:

• 通過將應用程序分為模型、視圖和控制器,化繁為簡的工作更加輕松。

• 它
不使用視圖狀態或基於伺服器的窗體。這使得 MVC 框架特別適合想要完全控制應用程序行為的開發人員。• 它使用一種通過單一控制器處理 Web 應用
程序請求的前端控制器模式。這使您可以設計一個支持豐富路由基礎結構的應用程序。有關更多信息,請參見 Front Controller(前端控制
器)。

• 它為測試驅動的開發 (TDD) 提供了更好的支持。• 它非常適合大型開發人員團隊支持的 Web 應用程序,以及需要對應用程序行為進行極度控制的 Web 設計人員。

基於 Web 窗體的 Web 應用程序的優點

基於 Web 窗體的框架具有以下優點:

• 它支持通過 HTTP 保留狀態的事件模型,這有益於開發業務線 Web 應用程序。基於 Web 窗體的應用程序提供了在數百個伺服器控制項中受支持的許多事件。

• 它使用頁面控制器模式向單個頁面添加功能。有關更多信息,請參見 Page Controller(頁面控制器)。• 它針對基於伺服器的窗體使用視圖狀態,這使得管理狀態信息更加輕松。

• 它非常適合想要利用大量組件快速開發應用程序的 Web 開發人員和設計人員的小型團隊。

• 通常,對於應用程序開發而言,它比較簡單,這是因為組件(Page 類、控制項等)緊密集成並且通常需要比 MVC 模型更少的代碼。