用戶控件、服務器控件和自定義控件之間有什麼區別? (What are the differences between User Controls, Server Controls & Custom Controls?)


問題描述

用戶控件、服務器控件和自定義控件之間有什麼區別? (What are the differences between User Controls, Server Controls & Custom Controls?)

I thought I had reasonable answers for this question at a recent interview, but I bombed it. :(

  • What are the major differences between the three?
  • If not obvious by the answer to the previous bullet, when would you choose one over the other?

參考解法

方法 1:

  • User Controls are controls built with a designer within a web project. They typically are only private to a web application (Although there are ways you can make them available to other projects). 

  • Server Controls are controls that are also known as Web Controls. These are reusable controls that render their html without the aid of a designer, they are created in a seperate assembly from the web application, are appropiate for controls which will be used in many different web applications

  • Composite Controls are a sub type of Web Controls and are controls which are made up (composed) of other web controls.

I've never heard of a custom control to mean anything other then a control which is custom built by you or your team. And it could include user, web or composite controls.

方法 2:

A User Control is a partial web page, created in the same way as any other web page in ASP.NET, except that it has an .ASCX extension, and it can be embedded in your other ASPX pages.

User controls are registered with the web page in which they are used, like this:

<%@ Register TagPrefix="UC" TagName="TestControl" Src="test.ascx" %>

They are then declared in the web page they are to be used in, like this:

<UC:TestControl id="Test1" runat="server"/>

Custom controls are compiled code components that execute on the server, expose the object model, and render markup text, such as HTML or XML, as a normal Web Form or user control does.  Custom controls are written in C# or VB, and are derived from the class

System.Web.UI.WebControls.WebControl 

Server controls are controls that execute on the server and render markup to the browser.  User controls and custom controls are both examples of server controls.

http://support.microsoft.com/kb/893667

(by IAmAN00BJoshBerkeRobert Harvey)

參考文件

  1. What are the differences between User Controls, Server Controls & Custom Controls? (CC BY-SA 3.0/4.0)

#ASP.NET #controls #user-controls #custom-controls






相關問題

System.Reflection.Assembly.LoadFile 鎖定文件 (System.Reflection.Assembly.LoadFile Locks File)

如何在沒有全局變量的情況下一直保留我的變量? (How can I keep my variable all the time without global variables?)

C# / ASP.NET - Web 應用程序鎖定 (C# / ASP.NET - Web Application locking)

關閉模態對話框窗口後 ASP.NET 刷新父頁面 (ASP.NET Refresh Parent Page after Closing Modal Dialog Window)

無法將 NULL 值傳遞給數據庫 (Unable to pass NULL value to database)

wcf:將用戶名添加到消息頭是否安全? (wcf: adding username to the message header is this secure?)

使用 ASP.Net 教初學者 Web 開發的小項目想法 (Small projects ideas to teach beginners web development using ASP.Net)

SQL Server - 分組、擁有和計數 (SQL Server - Group by, having and count in a mix)

企業庫異常處理應用程序塊和日誌記錄應用程序塊在 ASP.NET 中的正確使用 (Enterprise Library Exception Handling Application Block and Logging Application Block proper use in ASP.NET)

來自proc的asp.net多個結果集:是否有必要將結果映射到類?如果是這樣,怎麼做? (asp.net multiple result set from proc: is it necessary to map results to class? If so, how?)

如何在測試工具中實例化 asp.net 代碼隱藏類? (How can I instantiate an asp.net codebehind class in a test harness?)

Web 窗體用戶控制事件,需要在頁面加載後添加 (Web Form User Control Event, needs to be added after page loads)







留言討論