2016-08-01 22 views
0

In meiner Masterseite habe ich einen div "ErrorDiv", den ich von meinen Inhaltsseiten aufrufen möchte, um meinen Fehler anzuzeigen. Das Problem ist, dass, wenn eine Schaltfläche in einem Update-Panel enthalten war, div nicht angezeigt wird, wenn ich es aus dem Code dahinter aufrufen. Ich bin mir sicher, dass es einen Trick gibt, um dieses Problem zu lösen, ich schätze Ihre Hilfe. Unten ist mein Code:Schaltfläche innerhalb des Inhaltsbereichs auf der Inhaltsseite kann nicht von der anzuzeigenden Vorgabeseite aufgerufen werden

Master-Seite:

<asp:Panel ID="pnlMainForm" runat="server"> 
<form id="form1" runat="server" > 
<asp:Panel id="CommonPanelError" runat="server" CssClass="alertMSG"  
    visible="false"> 
    <div id="ErrorDiv" class="ErrorBox" > 
    <table> 
    <tr style="vertical-align:top"> 
    <td><img src="../Images/Icons/error.png" alt="" style="vertical-    
     align:middle" id="img2" runat="server" />&nbsp&nbsp </td> 
    <td style="width:200px"> 
     <span style ="font-weight :bold ">ERROR</span><br /> 
     <asp:Label id="errorMsgBox" runat="server" > errorTest 
     </asp:Label> 
    </td> 
    <td>&nbsp&nbsp&nbsp&nbsp <a href ="#"><img onclick="CloseMyErrorBox();" 
     id ="closeErrorBox" src="../Images/Icons/warning4.png" alt=""  
     runat="server" /></a> 
    </td> 
    </tr> 
    </table> 
    </div> 
    </asp:Panel> 
</form> 
</asp:Panel>   

Inhalt Seite:

<asp:UpdatePanel ID="UPAll" runat="server"> 
<ContentTemplate> 
    <asp:Panel ID="pnlInsuredID" runat="server"> 
    <asp:LinkButton ID="lnkBtnphyCode" runat="server"> 
    <asp:Image ID="Image3" runat="server" ImageUrl="~/images/BAL/go.gif" /> 
    </asp:LinkButton> 
    </asp:Panel> 
</ContentTemplate> 
</asp:UpdatePanel> 

-Code hinter meiner Content-Seite:

Protected Sub lnkBtnphyCode_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkBtnphyCode.Click 

If Trim(txtPhysicianCode.Text) = "" Then 
    Dim c As Panel = CType(Me.Master.FindControl("CommonPanelError"), Panel) 
     If c IsNot Nothing Then 
      c.Attributes.Add("display", "block") 
     End If 
    Dim c1 As Label = CType(Me.Master.FindControl("errorMsgBox"), Label) 
    Dim str = c1.Text 
    errDotNet(str) 
else ... 

NB: errDotNet ist eine Funktion das warnt die Nachricht "str", und in unserem Fall zeigt es "errorTest" an, was die Nachricht insi ist de die Schachtel.

Antwort

0

Sie müssen nach Content setzen Trigger innerhalb Update-Panel

<Triggers> 
    <asp:PostBackTrigger ControlID="lnkBtnphyCode" /> 
</Triggers> 

Es ganzseitige Anforderung erfordert. Fügen Sie also die folgende Zeile in Ihre Seitenladung ein:

ScriptManager.GetCurrent(Me).RegisterPostBackControl(Me.YourControlID); 
+0

können Sie eine kleine Erklärung hinzufügen? @GalaxMan –

+0

Endlich habe ich das Problem gelöst. Ich habe festgestellt, dass das Hinzufügen von Triggern für eine Verknüpfungsschaltfläche, die ein Bild enthält, nicht funktioniert. Es sollte ein asp-Button oder ein Link-Button sein –