|
|
Sous-programmes
|
Dans un sous-programme, une des manières primaires desquelles le code de base visuel est empaqueté sur une page Web, appellent différemment un sous-programme ou un procédé. Un sous-programme a la structure générale suivante :
|
Sub name (signature)
...statements
End Sub
|
|
Un sous-programme est identifié en le sous-marin de mot-clé à son début et le sous-marin d'extrémité de mots-clés à son extrémité et à un nom de sous-programme est un nom programmeur-fourni qui suit des conventions de appellation de base visuelles. Le nom doit être unique parmi la collection de sous-programmes à la page. Des commandes de base visuelles, ou les rapports, sont enfermés à l'intérieur du sous-programme pour suivre le traitement pour ce que le sous-programme est créé.
Un sous-programme peut ou peut ne pas exiger une signature et une signature est une liste de variables, appelée les arguments, qui sont fournis au sous-programme afin il pour suivre son traitement. De divers types de signatures sont donnés ci-dessous.
Le <script> intérieur étiquette avec le runat= " serveur " d'attribut, tous les sous-programmes doit être contenu. À l'intérieur d'une seule paire d'étiquettes de <script>, tout nombre de sous-programmes peut être contenu.
|
Le sous-programme de Page_Load
|
Des sous-programmes sont activés pour effectuer leur traitement dans plusieurs manières et une des manières est d'activer le sous-programme chaque fois que la page Web est accédée, et avant d'envoyer la page au client qui a fait la demande. Ce sous-programme particulier a le Page_Load nommé exigé et il n'a pas une signature, bien qu'une paire de parenthèses vides puisse être codée pour indiquer son absence : Page_Load ().
Le sous-programme de Page_Load n'est pas exigé à moins que là traite pour avoir lieu chaque fois la page s'ouvre et elle pourrait, par exemple, décider de montrer la date du jour à votre page. Dans ce cas-ci pour rechercher la date de système du serveur, le sous-programme de Page_Load serait un endroit approprié et le placerait dans une commande de rendement à la page, avant d'envoyer la page au navigateur.
|
Sub Page_Load
DateOut.Text = DateString()
End Sub
</SCRIPT>
<html>
<body>
<p>Today is <asp:Label id="DateOut" runat="server"/></p>
</body>
</html>
|
|
D'autres utilisations communes pour le sous-programme de Page_Load sont de peupler les listes drop-down, les checkboxes, et les boutons par radio qui apparaissent à la page, ou d'accéder à un ensemble de disques d'une base de données pour l'affichage à la page.
|
L'état de Page.IsPostBack
|
Chaque fois que la page charge ou est régénérée, des rapports qui apparaissent dans le sous-programme de Page_Load sont courus. Souvent des périodes, cependant, il est nécessaire d'effectuer le traitement seulement la première fois que la page charge et c'est pratique courante sous ASP.NET entre où les commandes de page maintiennent automatiquement leurs valeurs poteau-soutient de la page (quand la page est due rechargé à une action de l'utilisateur). Toutes les commandes participent à l'état de la vue de la page et leurs valeurs sont maintenues entre les postings de page.
Car elle a illustré dans l'exemple ci-dessus, ce besoin de courir un manuscrit seulement la première fois que la page charge et depuis le système la date est assigné à un <asp : La commande de Label>, la valeur de la commande sera montrée et maintenue si la page est signalée de nouveau au serveur par une certaine action d'utilisateur. Il n'est pas nécessaire chaque fois que la page charge pour obtenir la date de système.
Pour ces situations, des rapports de manuscrit sont placés à l'intérieur d'un essai d'état de Page.IsPostBack et ils sont exécutés seulement la première fois que la page charge et une commande de serveur est peuplée avec l'information produite par le manuscrit et plus tard, la commande maintient son information sans doivent repopulate il.
|
<SCRIPT runat="server">
Sub Page_Load
If Not Page.IsPostBack Then
DateOut.Text = DateString()
End If
End Sub
</SCRIPT>
|
|
Appeler des sous-programmes des commandes
|
Dans la plupart des cas, par des commandes de serveur des sous-programmes sont invités pour effectuer leur travail par des appels explicites de sous-programme. Les diverses commandes ont de diverses manières de lui passer l'information et d'appeler un sous-programme.
Une manière commune pour qu'une commande de page appelle un sous-programme est son traiteur d'événement de " sous-programme " d'OnClick= et en appelant un sous-programme pour courir quand l'utilisateur clique la commande. En tant que par exemple, une commande de bouton,
|
<asp:Button OnClick="subprogram" runat="server"/>
|
|
montre un bouton standard à la page et quand l'utilisateur clique le bouton, le sous-programme appelé est couru
|
Signatures de sous-programme
|
Les sous-programmes qui s'appellent des commandes de serveur ont des signatures spéciales selon lesquelles le traiteur d'événement fait l'appel et quel type de commande. Ces signatures sont dans le format général montré ci-dessous.
|
La table ci-dessous donne le type d'argument pour les commandes de serveur qui appellent un sous-programme par leurs divers traiteurs d'événement.
|
Control |
Argument Type |
OnClick subprogram call |
<asp:Button>
<asp:ImageButton>
<asp:LinkButton>
|
arguments As EventArgs |
OnCommand subprogram
call |
<asp:Button>
<asp:ImageButton>
<asp:LinkButton>
|
arguments As CommandEventArgs |
OnTextChanged
subprogram call |
<asp:TextBox>
|
arguments As EventArgs |
OnCheckedChanged
subprogram call |
<asp:RadioButton>
<asp:CheckBox>
|
arguments As EventArgs |
OnSelectedIndexChanged
subprogram call |
<asp:RadioButtonList>
<asp:CheckBoxList>
<asp:DropDownList>
<asp:ListBox>
|
arguments As EventArgs |
OnItemCommand
subprogram call |
<asp:Repeater>
<asp:DataGrid>
<asp:DataList>
|
arguments As RepeaterCommandEventArgs
arguments As DataGridCommandEventArgs
arguments As DataListCommandEventArgs
|
OnSortCommand
subprogram call |
<asp:DataGrid>
|
arguments As DataGridSortCommandEventArgs |
|
Arguments passés de accès
|
Comme exemple simple des genres d'information disponibles par la signature d'un sous-programme et prendre le cas d'un bouton standard qui appelle un sous-programme par son traiteur d'événement d'OnCommand.
|
<SCRIPT runat="server">
Sub MySubprogram (Src As Object, Args As CommandEventArgs)
Identity.Text = Src.id
CommandName.Text = Args.CommandName
End Sub
</SCRIPT>
<asp:Button id="MyButton" runat="server"
OnCommand="MySubprogram"
CommandName="Do My Processing"/></p>
Source Id = <asp:Label id="ID" runat="server"/><br/>
Command Name = <asp:Label id="CommandName" runat="server"/><br/>
|
|
Keywords:
Subprograms using VB.NET,
using source code,
c++ using,
sql using,
using syntax,
c# using,
oracle using,
using statement,
c using,
using programming,
using function,
select using,
java using,
using string,
using object,
update using,
using code,
using command
|