Die Benutzersteuerung für Symbolschaltflächen wurde für die folgenden allgemeinen Vorgänge entwickelt:
--------------------------
Die Seite hat [Symbol + Schaltfläche] oder [ImageButton] gespeichert, um die Gesamtspeicherfunktion zu realisieren. Nach dem Klicken auf den Speichervorgang kann zunächst eine js-Überprüfung der relevanten Felder der Seite durchgeführt werden, und nach der Überprüfung kann eine Hintergrundübermittlung durchgeführt werden übergeben wird. Es kann auf Stiländerungen unter onmouseover und anderen Ereignissen reagieren.
Das entwickelte Icon-Button-Benutzersteuerelement muss mindestens die folgenden funktionalen Anforderungen erfüllen:
------------------------------------------
1. Bestehend aus Symbolen + Text
Der Pfad des Symbols kann so geändert werden, dass er leer ist, was bedeutet, dass kein Symbol vorhanden ist.
Die Textanzeige kann geändert werden
2. Das gesamte System muss auf das Onclick-Ereignis des js reagieren und es verarbeiten, das für die „Symbolschaltfläche“ auf der Seite festgelegt ist, auf der es sich befindet.
Wenn kein onclick-Ereignis behandelt werden muss, wird es nicht verarbeitet.
3. Die allgemeine Notwendigkeit, auf das OnClick-Ereignis des Servers zu reagieren und es zu verarbeiten
Wenn kein OnClick-Ereignis behandelt werden muss, wird es nicht verarbeitet.
4. Die Gesamtreaktion muss deaktiviert sein
Sichtbar ist dem Steuerelement selbst inhärent
5. Sie müssen auf Stiländerungen bei Ereignissen wie onmouseover reagieren
Im Folgenden wird die Methode kurz erläutert
1. Erstellen Sie das Benutzersteuerelement [Symboltextschaltfläche].
Die Steuerung enthält folgende Teile:
Steuerung des Tabellenlayouts,
Platzhalter für dynamisch ausgegebenes Bild,
Platzhalter für dynamisch ausgegebenen Text,
Versteckte Schaltfläche, die als Reaktion auf das OnClick-Ereignis ausgelöst wird
<Tabelle>
<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" />
Sie können der Tabelle eine zugehörige Verarbeitung im Onmouseover-Stil hinzufügen
Enthält die folgenden zugehörigen Attribute und Verarbeitung
öffentliche Teilklasse WebUserControl: System.Web.UI.UserControl
{
#region-Eigenschaften und Veranstaltungen
//Schaltflächentext des Benutzersteuerelements für die Symboltextschaltfläche
string _strButtonText = "Button-Platzhalter";
öffentliche Zeichenfolge strButtonText
{
set { _strButtonText = value }
get { return _strButtonText }
}
//Symbolpfad des Benutzersteuerelements für die Symboltextschaltfläche
string _strImageSrc = "";
öffentliche Zeichenfolge strImageSrc
{
set { _strImageSrc = value;
get { return _strImageSrc }
}
//Deaktiviert des Steuerelements
bool _UCDisabled = false;
public boolUCDisabled
{
Satz
{
this.tr1.Disabled = Wert;
_UCDisabled = Wert;
}
get { return _UCDisabled }
}
//Eine Verarbeitungsfunktion, die auf das Onclick-JS-Ereignis reagiert
string _strOnClickJSFun = "";
öffentliche Zeichenfolge strOnClickJSFun
{
set { _strOnClickJSFun = value;
get { return _strOnClickJSFun }
}
//Antwort auf das OnClick-Ereignis auf der Serverseite
öffentlicher Delegat void userEvent(object sender, EventArgs e);
öffentliches Ereignis userEvent UCOnClick;
protected void Button1_Click(object sender, EventArgs e)
{
if (this.UCOnClick != null)
this.UCOnClick(this, e);
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (_strButtonText != "")
{
this.Literal2.Text = _strButtonText;
}
if (_strImageSrc != "")
{
this.Literal1.Text = "<img id='" + this.UniqueID + "Image1' src='" + _strImageSrc + "' />";
}
if(UCDisabled)
zurückkehren;
if (_strOnClickJSFun != "")
{
string strjsfun = _strOnClickJSFun.Replace(";", "").Replace("return ", "");
if (this.UCOnClick != null)
{
this.tr1.Attributes.Add("onclick", "if(" + strjsfun + "){document.all." + this.UniqueID + "_Button1.click();}");
}
anders
{
this.tr1.Attributes.Add("onclick", strjsfun);
}
}
anders
{
if (this.UCOnClick != null)
{
this.tr1.Attributes.Add("onclick", "document.all." + this.UniqueID + "_Button1.click();");
}
}
}
}
}
2. Verwenden Sie die Benutzersteuerung [Symboltextschaltfläche].
<uc1:WebUserControl ID="WebUserControl1" runat="server" OnUCOnClick="Button1_Click" strOnClickJSFun="return fn_Check();"
strButtonText="Ändern" strImageSrc="../Images/Edit.gif" />