Επισκόπηση των στοιχείων ελέγχου του χρήστη και προσαρμοσμένα στοιχεία ελέγχου

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 893667 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Στήλη φωνητική υποστήριξη ASP.NET

Επισκόπηση των στοιχείων ελέγχου του χρήστη και προσαρμοσμένα στοιχεία ελέγχου

Για να προσαρμόσετε αυτήν τη στήλη για τις ανάγκες σας, θέλετε να προσκαλέσετε να υποβάλλετε τις ιδέες σας σχετικά με θέματα που σας ενδιαφέρουν, μπορείτε και θέματα για τα οποία θέλετε να δείτε απευθύνεται σε μελλοντικές άρθρα της Γνωσιακής βάσης και οι στήλες υποστήριξης της φωνής. Μπορείτε να υποβάλετε σας ιδέες και τα σχόλιά σας χρησιμοποιώντας τοΕρώτηση για τηνMAPI. Υπάρχει επίσης μια σύνδεση για τη φόρμα στο κάτω μέρος αυτής της στήλης.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

ΕΙΣΑΓΩΓΗ

Υψηλής! Αυτό είναι Parag και είμαι ένας μηχανικός υποστήριξης λειτουργεί με την ομάδα υποστήριξης της Microsoft ASP.NET για περισσότερο από έναν χρόνο τώρα. Πριν από την ένωση Microsoft, μου λειτουργούσε σε έργα που βασίζονται στο Web και επιτραπέζιες εφαρμογές χρησιμοποιώντας τεχνολογίες της Microsoft. Κατά την παροχή υποστήριξης ποιότητας στους πελάτες, μου έχετε δει περιπτώσεις όπου δεν υπάρχει κάποια σύγχυση γύρω από τα προσαρμοσμένα στοιχεία ελέγχου και θα απλώς ήθελα να πάρει κάποιο χρόνο για να εξηγήσετε ορισμένες έννοιες γύρω από τα προσαρμοσμένα στοιχεία ελέγχου. Ως κατεστραμμένοι όπως φαίνεται, πιστεύουν μου, όταν λάβετε το κολλήσει από αυτό, θα σε καλύτερη θέση για να εκτιμήσετε το ASP.NET.

ΕΠΙΣΚΟΠΗΣΗ

Στη στήλη αυτού του μήνα, μου θα αφορούν τα ακόλουθα θέματα:
  • Τι είναι τα στοιχεία ελέγχου χρήστη;
  • Τι είναι τα προσαρμοσμένα στοιχεία ελέγχου;
  • What are the basic differences between user controls and custom controls?
I'll also introduce a few of the advanced topics that concern custom controls, such as state management and the rendering of custom controls.

What are user controls?

User controls are custom, reusable controls, and they use the same techniques that are employed by HTML and Web server controls. They offer an easy way to partition and reuse common user interfaces across ASP.NET Web applications. They use the same Web Forms programming model on which a Web Forms page works. For more details about the Web Forms programming model, visit the following Microsoft Developer Network (MSDN) Web sites:
Introduction to Web Forms pages
http://msdn2.microsoft.com/en-us/library/65tcbxz3(vs.71).aspx

Web Forms code model
http://msdn2.microsoft.com/en-us/library/015103yb(vs.71).aspx

How to create a user control

The syntax you use to create a user control is similar to the syntax you use to create a Web Forms page (.aspx). The only difference is that a user control does not include the<html>,<body> AND<form>elements since a Web Forms page hosts the user control.To create a user control, follow these steps:</body></html>
  1. Open a text or HTML editor, and create a server-side code block exposing all the properties, methods, and events.
    <script language="C#" runat="server">
       public void button1_Click(object sender, EventArgs e)
       {
          label1.Text = "Hello World!!!";
       }
    </script>
    
  2. Create a user interface for the user control.
    <asp:Label id="label1" runat="server"/>
     <br><br>
    <asp:button id="button1" text="Hit" OnClick="button1_Click" runat="server" />
    

How to use a user control in a Web Forms page

  1. Create a new Web Forms page (.aspx) in Microsoft Visual Studio .NET 2002, Microsoft Visual Studio .NET 2003, Microsoft Visual Studio 2005, or any text editor.
  2. Δηλώστε το@ Registerη οδηγία. For example, use the following code.
    <%@ Register TagPrefix="UC" TagName="TestControl" Src="test.ascx" %>
    ΣΗΜΕΙΩΣΗAssume that the user control and the Web Forms page are in the same location.
  3. To use the user control in the Web Forms page, use the following code after the@ Registerη οδηγία.
    <html>
        <body>
              <form runat="server">
                   <UC:TestControl id="Test1" runat="server"/>
              </form>
        </body>  
    </html>
    

How to create an instance of a user control programmatically in the code behind file of a Web Forms page

The previous example instantiated a user control declaratively in a Web Forms page using the@ Registerη οδηγία. However, you can instantiate a user control dynamically and add it to the page. Here are the steps for doing that:
  1. Create a new Web Forms page in Visual Studio.
  2. Navigate to the code behind file generated for this Web Forms page.
  3. ΣτοPage_Loadσυμβάν από τοτου διαφημιζόμενου πελάτη Βclass, write the following code.
    // Load the control by calling LoadControl on the page class.
    Control c1 = LoadControl("test.ascx");
                
    // Add the loaded control in the page controls collection.	
    Page.Controls.Add(c1);
    
    ΣΗΜΕΙΩΣΗYou can add a user control dynamically at certain events of the page life cycle.

    Για περισσότερες πληροφορίες, επισκεφθείτε τις ακόλουθες τοποθεσίες στο Web:
    Adding controls to a Web Forms page programmatically
    http://msdn2.microsoft.com/en-us/library/kyt0fzt1(vs.71).aspx

    Control execution lifecycle
    http://msdn2.microsoft.com/en-us/library/aa719775(vs.71).aspx

    Dynamic Web controls, postbacks, and view state, by Scott Mitchell
    http://aspnet.4guysfromrolla.com/articles/092904-1.aspx

How a user control is processed

When a page with a user control is requested, the following occurs:
  • The page parser parses the .ascx file specified in theSrcχαρακτηριστικό με το@ Registerdirective and generates a class that derives from theSystem.Web.UI.UserControlCLASS.
  • The parser then dynamically compiles the class into an assembly.
  • If you are using Visual Studio, then at design time only, Visual Studio creates a code behind file for the user control, and the file is precompiled by the designer itself.
  • Finally, the class for the user control, which is generated through the process of dynamic code generation and compilation, includes the code for the code behind file (.ascx.cs) as well as the code written inside the .ascx file.

What are custom controls?

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.

How to choose the base class for your custom control

To write a custom control, you should directly or indirectly derive the new class from theSystem.Web.UI.Controlclass or from theSystem.Web.UI.WebControls.WebControlCLASS:
  • You should derive fromSystem.Web.UI.Controlif you want the control to render nonvisual elements. For example, <meta> and<head>are examples of nonvisual rendering.</head>
  • You should derive fromSystem.Web.UI.WebControls.WebControlif you want the control to render HTML that generates a visual interface on the client computer.
If you want to change the functionality of existing controls, such as a button or label, you can directly derive the new class with these existing classes and can change their default behavior.

In brief, theControlclass provides the basic functionality by which you can place it in the control tree for aτου διαφημιζόμενου πελάτη ΒCLASS. Για ναWebControlclass adds the functionality to the baseControlclass for displaying visual content on the client computer. For example, you can use theWebControlclass to control the look and styles through properties like font, color, and height.

How to create and use a simple custom control that extends from System.Web.UI.Control using Visual Studio

  1. Ξεκινήστε το Visual Studio.
  2. Create a class library project, and give it a name, for example, CustomServerControlsLib.
  3. Add a source file to the project, for example, SimpleServerControl.cs.
  4. Include the reference of theSystem.Webnamespace in the references section.
  5. Check whether the following namespaces are included in the SimpleServerControl.cs file.
    System
    System.Collections
    System.ComponentModel
    System.Data
    System.Web
    System.Web.SessionState
    System.Web.UI
    System.Web.UI.WebControls
    
  6. Inherit theSimpleServerControlsclass with theControlbase class.
    public class SimpleServerControl : Control
  7. Override theRendermethod to write the output to the output stream.
    protected override void Render(HtmlTextWriter writer) 
    {
    	 writer.Write("Hello World from custom control");
    }
    
    ΣΗΜΕΙΩΣΗΓια ναHtmlTextWriterclass has the functionality of writing HTML to a text stream. Για ναΕγγραφή (Write)η μέθοδος τουHtmlTextWriterclass outputs the specified text to the HTTP response stream and is the same as theResponse.WriteΗ μέθοδος.
  8. Compile the class library project. It will generate the DLL output.
  9. Open an existing or create a new ASP.NET Web application project.
  10. Add a Web Forms page where the custom control can be used.
  11. Add a reference to the class library in the references section of the ASP.NET project.
  12. Register the custom control on the Web Forms page.
    <%@ Register TagPrefix="CC " Namespace=" CustomServerControlsLib " Assembly="CustomServerControlsLib " %>
  13. To instantiate or use the custom control on the Web Forms page, add the following line of code in the<form>tags.
    <form id="Form1" method="post" runat="server">
        <CC:SimpleServerControl id="ctlSimpleControl" runat="server">
        </CC:SimpleServerControl >
    </form>
    
    ΣΗΜΕΙΩΣΗIn this code,SimpleServerControlis the control class name inside the class library.
  14. Run the Web Forms page, and you will see the output from the custom control.
If you are not using Visual Studio, you need to perform the following steps:
  1. Open any text editor.
  2. Create a file named SimpleServerControl.cs, and write the code as given in steps 1 through 14.
  3. In the PATH variable, add the following path:
    c:\windows (winnt)\Microsoft.Net\Framework\v1.1.4322
  4. Start a command prompt, and go to the location where SimpleServerControl.cs is present.
  5. Εκτελέστε την ακόλουθη εντολή:
    CSC /t:library/out: CustomServerControlsLib. /R:System.Web.dll /r:System.dll SimpleServerControl.dll SimpleServerControl.cs
    Για περισσότερες πληροφορίες σχετικά με το μεταγλωττιστή C# (csc.exe), επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:
    .aspx http://msdn2.Microsoft.com/en-us/library/1700bbwd (vs.71)
  6. Για να εκτελέσετε το προσαρμοσμένο στοιχείο ελέγχου στη σελίδα φόρμες Web, κάντε τα εξής:
    1. Δημιουργήστε έναν κατάλογο στο φάκελο wwwroot.
    2. Εκκίνηση της διαχείρισης Microsoft Internet Information Services (IIS) και επισημάνετε τον νέο κατάλογο ως τον εικονικό ριζικό κατάλογο.
    3. Δημιουργήστε ένα φάκελο Bin κάτω από τον νέο κατάλογο.
    4. Αντιγράψτε το προσαρμοσμένο στοιχείο ελέγχου DLL στο φάκελο Bin.
    5. Τοποθετήστε το δείγμα σελίδας φορμών Web που δημιουργήσατε στα προηγούμενα βήματα, μέσα στο νέο κατάλογο.
    6. Εκτέλεση του δείγματος σελίδας από τη διαχείριση των υπηρεσιών IIS.
Τώρα που θα έχετε δημιουργήσει ένα προσαρμοσμένο στοιχείο ελέγχου απλής, ας δείτε πώς να εκθέτει ιδιότητες και την εφαρμογή χρόνου σχεδίασης χαρακτηριστικά σε αυτό το προσαρμοσμένο στοιχείο ελέγχου.

Πώς να εκθέτει ιδιότητες από το προσαρμοσμένο στοιχείο ελέγχου

I θα δημιουργήσετε στο προηγούμενο παράδειγμα και να παρουσιάσετε μία ή περισσότερες ιδιότητες που μπορούν να ρυθμιστούν κατά τη χρήση του προσαρμοσμένου στοιχείου ελέγχου στη σελίδα φόρμες Web.

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να ορίσετε μια ιδιότητα που θα εμφανίσει ένα μήνυμα από το στοιχείο ελέγχου ένα συγκεκριμένο αριθμό επαναλήψεων, όπως καθορίζεται στην ιδιότητα του στοιχείου ελέγχου:
  1. Ανοίξτε το SimpleServerControl.cs σε ένα πρόγραμμα επεξεργασίας κειμένου.
  2. Προσθήκη μιας ιδιότητας τουSimpleServerControlCLASS.
    public class SimpleServerControl : Control
    {
       private int noOfTimes;
       public int NoOfTimes
       {
           get { return this.noOfTimes; }
           set { this.noOfTimes = value; }
       } 
       protected override void Render (HtmlTextWriter writer)
       {
         for (int i=0; i< NoOfTimes; i++)
         {
           write.Write("Hello World.."+"<BR>");
         } 
       }
    }
    
  3. Μεταγλωττίστε το προσαρμοσμένο στοιχείο ελέγχου.
  4. Για να χρησιμοποιήσετε το προσαρμοσμένο στοιχείο ελέγχου στη σελίδα φόρμες Web, προσθέστε τη νέα ιδιότητα τη δήλωση του στοιχείου ελέγχου.
    <CC:SimpleServerControl id="ctlSimpleControl" NoOfTimes="5" runat="server"></CC:SimpleServerControl>
  5. Εκτέλεση της σελίδας θα εμφανιστεί το μήνυμα "Χαίρετε" από το προσαρμοσμένο στοιχείο ελέγχου τόσες φορές ως καθορίζεται στην ιδιότητα του στοιχείου ελέγχου.

Τρόπος εφαρμογής κατά το χρόνο σχεδίασης χαρακτηριστικά στο προσαρμοσμένο στοιχείο ελέγχου

Γιατί είναι απαραίτητα χαρακτηριστικά χρόνου σχεδίασης
Το προσαρμοσμένο στοιχείο ελέγχου που δημιουργήθηκε στο προηγούμενο παράδειγμα λειτουργεί όπως αναμένεται. Ωστόσο, εάν θέλετε να χρησιμοποιήσετε αυτό το στοιχείο ελέγχου στο Visual Studio, μπορεί να θέλετε τοNoOfTimesη ιδιότητα να επισημανθούν αυτόματα στο παράθυρο διαλόγου Ιδιότητες, κάθε φορά που ενεργοποιείται το προσαρμοσμένο στοιχείο ελέγχου κατά το χρόνο σχεδίασης.

Για να γίνει αυτό, πρέπει να δώσετε τις πληροφορίες μετα-δεδομένων για το Visual Studio, μπορείτε να το κάνετε χρησιμοποιώντας μια λειτουργία στο Visual Studio, που ονομάζονται χαρακτηριστικά. Χαρακτηριστικά μπορούν να ορίζουν μια κλάση, μια μέθοδο, ιδιότητα ή ένα πεδίο. Όταν το Visual Studio φορτώνει το προσαρμοσμένο στοιχείο ελέγχου κλάσης, ελέγχει για τα χαρακτηριστικά που ορίζονται με την κλάση, μέθοδο, ιδιότητα ή το πεδίο επίπεδο και αλλάζει τη συμπεριφορά του προσαρμοσμένου στοιχείου ελέγχου κατά το χρόνο σχεδίασης αντίστοιχα.

Για περισσότερες πληροφορίες σχετικά με τα χαρακτηριστικά, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:
.aspx http://msdn2.Microsoft.com/en-us/library/Aa288059 (VS.71)
Ας build ένα δείγμα που χρησιμοποιεί συχνά χρησιμοποιούνται χαρακτηριστικά:
  1. Ανοίξτε το SimpleServerControl.cs σε ένα πρόγραμμα επεξεργασίας κειμένου.
  2. Για παράδειγμα, να εισαγάγει ορισμένα βασικά χαρακτηριστικά σε επίπεδο κλάσης,DefaultProperty,ToolboxDataANDTagPrefixAttrbute. Εμείς θα δημιουργήσουν δείγμα μας σχετικά με αυτά τα τρία χαρακτηριστικά.
            [
    	// Specify the default property for the control.		
    	DefaultProperty("DefaultProperty"),
    	
    	// Specify the tag that is written to the aspx page when the
            // control is dragged from the Toolbox to the Design view. 
    	// However this tag is optional since the designer automatically 
    	// generates the default tag if it is not specified.		
    	ToolboxData("<{0}:ControlWithAttributes runat=\"server\">" +
    		"</{0}:ControlWithAttributes>")
    	]
    	public class ControlWithAttributes : Control
    	{
    		private string _defaultProperty;
    		public string DefaultProperty
    		{
    			get { return "This is a default property value"; }
    			set { this._defaultProperty = value; }
    		}
    
    		protected override void Render(HtmlTextWriter writer)
    		{
    			writer.Write("Default Property --> <B>" + 
    			DefaultProperty + "</B>");
    		}
             }
    
  3. Υπάρχει μία περισσότερες ετικέτες που ονομάζεταιTagPrefixAttrbute. Είναι ένα χαρακτηριστικό συγκρότησης επιπέδου που παρέχει ένα πρόθεμα για μια ετικέτα, όταν σύρετε το στοιχείο ελέγχου από την εργαλειοθήκη στο πρόγραμμα σχεδίασης. Διαφορετικά, ο συντάκτης δημιουργεί ένα πρόθεμα, όπως "cc1" από προεπιλογή.TagPrefixAttrbuteΔεν απευθείας εφαρμόζεται στην κλάση του στοιχείου ελέγχου. Για την εφαρμογήTagPrefixAttrbute, Άνοιγμα AssemblyInfo.cs, συμπεριλάβετε την παρακάτω γραμμή κώδικα και στη συνέχεια αναδημιουργήστε το έργο.
    [assembly:TagPrefix("ServerControlsLib ", "MyControl")]
    ΣΗΜΕΙΩΣΗIf you want to build the source using the command line, you need to create the AssemblyInfo.cs file, place the file in the directory that contains all the source files, and run the following command to build the control:
    > csc /t:library /out: ServerControlsLib.dll /r:System.dll /r :System.Web.dll *.cs

What are the basic differences between user controls and custom controls?

Now that you have a basic idea of what user controls and custom controls are and how to create them, let's take a quick look at the differences between the two.
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
FactorsUser controlCustom control
DeploymentDesigned for single-application scenarios

Deployed in the source form (.ascx) along with the source code of the application

If the same control needs to be used in more than one application, it introduces redundancy and maintenance problems
Designed so that it can be used by more than one application

Deployed either in the application's Bin directory or in the global assembly cache

Distributed easily and without problems associated with redundancy and maintenance
CreationCreation is similar to the way Web Forms pages are created; well-suited for rapid application development (RAD)Writing involves lots of code because there is no designer support
ΠεριεχόμενοA much better choice when you need static content within a fixed layout, for example, when you make headers and footersMore suited for when an application requires dynamic content to be displayed; can be reused across an application, for example, for a data bound table control with dynamic rows
ΣχεδίασηWriting doesn't require much application designing because they are authored at design time and mostly contain static dataWriting from scratch requires a good understanding of the control's life cycle and the order in which events execute, which is normally taken care of in user controls

Advanced topics

Next, let's take a look at a few of the advanced features that you may use while developing custom controls.

State management

Web applications are built on HTTP, which is stateless. A page and its child controls are created on every request and are disposed of after the request is over. To maintain state in classic ASP programming, you use session and application objects. But for that, you need to do lots of coding. To avoid this, ASP.NET provides a mechanism known as view state for maintaining state across several requests. To learn more about state management and view state, visit the following MSDN Web sites:
Introduction to Web Forms state management
http://msdn2.microsoft.com/en-us/library/75x4ha6s(vs.71).aspx

The ASP.NET view state
http://msdn.microsoft.com/msdnmag/issues/03/02/cuttingedge/default.aspx

Saving Web Forms page values using view state
http://msdn2.microsoft.com/en-us/library/4yfdwycw(vs.71).aspx
Example using view state in a custom control
ViewStateExample.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;

namespace ServerControlLib
{
	/// <summary>
	/// When a page framework reloads this control after postback, it   
        /// will restore the values which are in view state.
	/// This control can easily perform state management without 
        /// implementing our own logic for maintaining the state.
	/// </summary>
	public class ViewStateExample : WebControl
	{
		// Text to be displayed in Text box control.
		private string _text;
		
		/*
		 * This property needs to be populated before every 
                 * postback in order to 
		 * retain its value.
		*/ 
		public string Text
		{
			get { return (_text == null) ? "_text property is empty"  : _text; }
			set { _text = value; }
		}

		/*
		 * This property needs to be filled once and should be 
                 * available on the successive postbacks.
		*/ 
		public string TextInViewState
		{
			get
			{
				object o = ViewState["TextInViewState"];
				return (o == null) ? "View state is empty" : (string)o;
			}
			set { ViewState["TextInViewState"] = value; } 
		}

		/*
		 * Over-ridden method on WebControl base class which                   
                 * displays both of the property values 
		 * i.e. one stored in view state and other which is not 
                 * saved in view state.
		*/
		protected override void RenderContents(HtmlTextWriter writer)
		{
			writer.Write("Text Without View State = ");
			writer.Write(Text);
			writer.Write("<hr><br>");
			writer.Write("Text In View State = ");
			writer.Write(TextInViewState);
		}
	}
}
Example using the previous control on a Web Forms page
ViewStateExampleDemo.aspx
<%@ Page Language="C#" %>
<%@ Register TagPrefix="CC" Namespace="ServerControlLib" Assembly = "ServerControlLib" %>

<html>
  <head>
    <script runat="server">
      void button1_Click(object sender, EventArgs e)
      {
          Control1.Text = textbox1.Text;
          Control1.TextInViewState = textbox2.Text;
      }
    </script>
  </head>
  <body>
    <form runat="server" ID="Form1">
      <br>
      Property Value Without View State: <asp:TextBox id="textbox1" 
        runat="server" />
      <br>
      Property Value with View State: <asp:TextBox id="textbox2" 
        runat="server" />

      <asp:Button text="Cause Postback" onClick="button1_Click" 
        id="button1" Runat="server" />

      Output from the ViewStateExample Control :
      <CC:ViewStateExample id="Control1" runat="server"/>
    </form>
  </body>
</html>

Rendering

In this section, I'll briefly describe what methods you should override when you derive a custom control from either theControlη κλάση ή ηWebControlCLASS.
Rendering methods of the System.Web.UI.Control class
For information about the rendering methods of theSystem.Web.UI.Controlclass, visit the following MSDN Web sites:
Control.RenderΗ μέθοδος
http://msdn2.microsoft.com/en-us/library/system.web.ui.control.render(vs.71).aspx

Control.RenderControlΗ μέθοδος
http://msdn2.microsoft.com/en-us/library/system.web.ui.control.rendercontrol(vs.71).aspx

Control.RenderChildrenΗ μέθοδος
http://msdn2.microsoft.com/en-us/library/system.web.ui.control.renderchildren(vs.71).aspx
How a control is rendered on the page
Every page has a control tree that represents a collection of all the child controls for that page. To render the control tree, an object of theHtmlTextWriterclass is created that contains the HTML to be rendered on the client computer. That object is passed to theRenderControlΗ μέθοδος. In turn, theRenderControlmethod invokes theRenderΗ μέθοδος. Then, theRendermethod calls theRenderChildrenmethod on each child control, making a recursive loop until the end of the collection is reached. This process is best explained by the following example code.
public void RenderControl(HtmlTextWriter writer) 
{
    // Render method on that control will only be called if its visible property is true.
    if (Visible)
    {
        Render(writer);
    }
}

protected virtual void Render(HtmlTextWriter writer) 
{
    RenderChildren(writer);
}
protected virtual void RenderChildren(HtmlTextWriter writer) 
{
    foreach (Control c in Controls) 
    {
        c.RenderControl(writer);
    }
} 
Rendering methods of the System.Web.UI.WebControl class
For information about the rendering methods of theSystem.Web.UI.WebControlclass, visit the following MSDN Web sites:
WebControl.RenderBeginTagΗ μέθοδος
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.renderbegintag(vs.71).aspx

WebControl.RenderContentsΗ μέθοδος
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.rendercontents(vs.71).aspx

WebControl.RenderEndTagΗ μέθοδος
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.renderendtag(vs.71).aspx
How the rendering of the WebControl class takes place
The following code example shows theRendermethod for the custom control.
protected override void Render(HtmlTextWriter writer)
{
    RenderBeginTag(writer);
    RenderContents(writer);
    RenderEndTag(writer);
}
You don't need to override theRenderμέθοδος για τηνWebControlCLASS. Εάν θέλετε να αποδώσει περιεχόμενα εντός τουWebControlκλάση, θα πρέπει να αντικαταστήσετε τοRenderContentsΗ μέθοδος. Ωστόσο, εάν μπορείτε ακόμα να θέλετε να παρακάμψετε τοΑπόδοσηη μέθοδος, πρέπει να αντικαταστήσετε τοRenderBeginTagη μέθοδος, καθώς και τοRenderEndTagη μέθοδος της συγκεκριμένης εντολής που εμφανίζεται στο προηγούμενο παράδειγμα κώδικα.

Ολοκλήρωση

Που είναι προς το παρόν σε στοιχεία ελέγχου χρήστη και προσαρμοσμένα στοιχεία ελέγχου ASP.NET 1.0 και ASP.NET 1.1. Ελπίζω ότι αυτή η στήλη σάς βοηθά να κατανοήσετε τις βασικές διαφορές μεταξύ τους και τις διάφορες προσεγγίσεις για την ανάπτυξη τους.

Ευχαριστούμε για την ώρα. Εμείς πρόκειται να γράψει περισσότερα σχετικά με τα θέματα για προχωρημένους για προσαρμοσμένα στοιχεία ελέγχου, όπως είναι η κατάσταση διαχείρισης, έλεγχος στυλ, τα σύνθετα στοιχεία ελέγχου και υποστήριξη προσαρμοσμένα στοιχεία ελέγχου χρόνου σχεδίασης στο προσεχές μέλλον.

Για περισσότερες πληροφορίες σχετικά με τα στοιχεία ελέγχου, επισκεφθείτε τις ακόλουθες τοποθεσίες του MSDN στο Web:
Βασικές αρχές ανάπτυξης ελέγχου διακομιστή ASP.NET
.aspx http://msdn2.Microsoft.com/en-us/library/aa310918 (vs.71)

Μια εκτεταμένη εξέταση των στοιχείων ελέγχου χρήστη
http://msdn2.Microsoft.com/en-us/library/ms972975.aspx

Δημιουργία προτύπου προσαρμοσμένα στοιχεία διακομιστή ελέγχου ASP.NET
http://msdn2.Microsoft.com/en-us/library/Aa478964.aspx

Συμβάντα των στοιχείων ελέγχου διακομιστή ASP.NET
.aspx http://msdn2.Microsoft.com/en-us/library/aa720049 (vs.71)

Σύνθετο στοιχείο ελέγχου και έλεγχο του χρήστη
.aspx http://msdn2.Microsoft.com/en-us/library/aa719735 (vs.71)

Ανάπτυξη στοιχείων ελέγχου διακομιστή ASP.NET
.aspx http://msdn2.Microsoft.com/en-us/library/aa719973 (vs.71)

Ανάπτυξη προσαρμοσμένων στοιχείων ελέγχου: κλειδί έννοιες
.aspx http://msdn2.Microsoft.com/en-us/library/aa720226 (vs.71)

Προσθήκη υποστήριξης χρόνου σχεδίασης σε στοιχεία ελέγχου ASP.NET
http://msdn2.Microsoft.com/en-us/library/Aa478960.aspx
Πάντα, αίσθηση ελεύθερο να υποβάλλουν ιδέες σχετικά με θέματα που θέλετε στο μέλλον απευθύνεται στήλες ή με τη χρήση της Γνωσιακής Βάσης τηςΕρώτηση για τηνMAPI.

Ιδιότητες

Αναγν. άρθρου: 893667 - Τελευταία αναθεώρηση: Πέμπτη, 23 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Λέξεις-κλειδιά: 
kbhowto kbasp kbmt KB893667 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:893667

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com