Le contrôle utilisateur du bouton icône est développé pour les opérations courantes suivantes :
--------------------------
La page a enregistré [icône + bouton] ou [ImageButton] pour réaliser la fonction de sauvegarde globale. Après avoir cliqué sur l'opération de sauvegarde, la vérification js des champs pertinents de la page peut être effectuée en premier, puis la soumission en arrière-plan peut être effectuée après la vérification. est passé. Il peut répondre aux changements de style sous le survol de la souris et d'autres événements.
Le contrôle utilisateur du bouton icône développé doit répondre au moins aux exigences fonctionnelles suivantes :
------------------------------------------
1. Composé d'icônes + texte
Le chemin de l'icône peut être modifié pour être vide, ce qui signifie qu'il n'y a pas d'icône.
L'affichage du texte peut être modifié
2. L'ensemble du système doit répondre et traiter l'événement onclick du js défini pour le "bouton icône" sur la page où il se trouve.
S'il n'y a aucun événement onclick à gérer, il ne sera pas traité.
3. La nécessité globale de répondre et de gérer l'événement OnClick du serveur
S'il n'y a aucun événement OnClick à gérer, il ne sera pas traité.
4. La réponse globale doit être désactivée
Le visible est inhérent au contrôle lui-même
5. Besoin de répondre aux changements de style lors d'événements tels que onmouseover
Ce qui suit est une brève explication de la méthode
1. Créez le contrôle utilisateur [bouton de texte d'icône]
Le contrôle contient les parties suivantes :
Contrôle de la disposition des tables,
Espace réservé pour la sortie dynamique de l'image,
Espace réservé pour le texte généré dynamiquement,
Bouton caché qui se déclenche en réponse à l'événement OnClick
<tableau>
<tr runat="server" id="tr1" style="cursor:hand;" >
<td>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</td>
<td>
<asp:Literal ID="Literal2" runat="server"></asp:Literal>
</td>
</tr>
</table>
<asp:Button ID="Button1" runat="server" Text="Button" style="display:none; width:0; height:0;" OnClick="Button1_Click" />
Vous pouvez ajouter un traitement de style au survol associé au tableau
Contient les attributs associés et le traitement suivants
classe partielle publique WebUserControl : System.Web.UI.UserControl
{
Propriétés et événements de la #région
// Texte du bouton du contrôle utilisateur du bouton de texte de l'icône
string _strButtonText = "Espace réservé au bouton";
chaîne publique strButtonText
{
définir { _strButtonText = valeur ;
obtenir { return _strButtonText }
}
//Chemin de l'icône du contrôle utilisateur du bouton de texte de l'icône
chaîne _strImageSrc = "" ;
chaîne publique strImageSrc
{
définir { _strImageSrc = valeur ;
obtenir { return _strImageSrc }
}
//Désactivé du contrôle
bool _UCDisabled = faux ;
public boolUCDisabled
{
ensemble
{
this.tr1.Disabled = valeur ;
_UCDisabled = valeur ;
}
obtenir { retourner _UCDisabled }
}
//Une fonction de traitement qui répond à l'événement onclick js
chaîne _strOnClickJSFun = "" ;
chaîne publique strOnClickJSFun
{
définir { _strOnClickJSFun = valeur ;
obtenir { return _strOnClickJSFun }
}
//Réponse à l'événement OnClick côté serveur
délégué public void userEvent (expéditeur d'objet, EventArgs e);
événement public userEvent UOnClick ;
protected void Button1_Click (expéditeur de l'objet, EventArgs e)
{
si (this.UCOnClick != null)
this.UCOnClick(this, e);
}
#endregion
protected void Page_Load (expéditeur de l'objet, EventArgs e)
{
si (!IsPostBack)
{
si (_strButtonText != "")
{
this.Literal2.Text = _strButtonText;
}
si (_strImageSrc != "")
{
this.Literal1.Text = "<img id='" + this.UniqueID + "Image1' src='" + _strImageSrc + "' />";
}
si (UCDésactivé)
retour;
si (_strOnClickJSFun != "")
{
string strjsfun = _strOnClickJSFun.Replace(";", "").Replace("return ", "");
si (this.UCOnClick != null)
{
this.tr1.Attributes.Add("onclick", "if(" + strjsfun + "){document.all." + this.UniqueID + "_Button1.click();}");
}
autre
{
this.tr1.Attributes.Add("onclick", strjsfun);
}
}
autre
{
si (this.UCOnClick != null)
{
this.tr1.Attributes.Add("onclick", "document.all." + this.UniqueID + "_Button1.click();");
}
}
}
}
}
2. Utilisez le contrôle utilisateur [bouton de texte d'icône]
<uc1:WebUserControl ID="WebUserControl1" runat="server" OnUCOnClick="Button1_Click" strOnClickJSFun="return fn_Check();"
strButtonText="Modifier" strImageSrc="../Images/Edit.gif" />