Ich habe ein benutzerdefiniertes Ereignis, das ich verwenden möchte, um ein zuvor ausgeblendetes Element auf meiner Seite anzuzeigen.Ich kann nichts in meinem benutzerdefinierten Ereignis tun
ASPX:
<%@ Register Src="~/Controls/EditSync.ascx" TagPrefix="IP" TagName="EditSync" %>
<asp:Content ID="main" ContentPlaceHolderID="body" runat="server">
//Some unrelated controls
<fieldset id="fsEditPlugin" runat="server" class="inputForm" style="width:450px;" visible="false">
<IP:EditSync id="ctlEditSync" runat="server" />
</fieldset>
</asp:Content>
-Code hinter:
protected void Page_Load(object sender, EventArgs e)
{
this.ctlDelivery.EditPlugin += new EventHandler(onEditPlugin);
if (!Page.IsPostBack)
{
//Some more unrelated things
}
}
public void onEditPlugin(object sender, EventArgs e)
{
System.Diagnostics.Debug.Write(((ip.Controls.EditPluginEventArgs)e).type);
fsEditPlugin.Visible = true;
}
die Debug-Meldung angezeigt wird. Ich kann Haltepunkte im Event-Handler platzieren und sie sind erreicht, aber egal was ich versuche, ich kann die Seite nicht von meinem Event-Handler manipulieren. Das fsEditPlugin ist kein Kind von etwas anderem, das versteckt ist. Einige Sachen, die ich versucht habe:
//I've tried this:
<fieldset id="fsEditPlugin" runat="server" class="inputForm" style="width:450px; display:none;">
//code behind:
fsEditPlugin.Style.Add("display", "inline");
//I've tried this:
<fieldset id="fsEditPlugin" runat="server" class="inputForm" style="width:450px;">
</fieldset>
//Code behind:
fsEditPlugin.Controls.Add(new LiteralControl("TEST"));
Nichts scheint zu arbeiten. In meinem Page_Load ist nichts vorhanden, das die Steuerelemente beeinträchtigen könnte.
Das Ereignis wird von einem anderen untergeordneten Webbenutzer-Steuerelement ausgelöst. Wenn ich also eine Taste in einem anderen untergeordneten Steuerelement des Web-Benutzers drücke, möchte ich das EditSync-Steuerelement sichtbar machen.
Das ist nicht Ihr gesamter Code, denke ich, da Sie 'onEditPlugin' hier nie registrieren. Was ist "IP: EditSync"? –
Wenn Sie den Standardwert von fsEditPlugin.Visible auf true setzen, können Sie es sehen oder können Sie es dann immer noch nicht sehen? –
@PatrickHofman geben Sie mir eine Sekunde und ich werde mehr Code hinzufügen –