2016-08-01 112 views
0

在我的主页面我有一个div“ErrorDiv”,我想从我的内容页面调用以显示我的错误。问题是,如果一个按钮被包含在更新面板中,当我从后面的代码调用它时div不会显示。我相信有一个技巧来解决这个问题,我感谢你的帮助。 下面是我的代码:内容页面中的内容面板中的按钮不能从主页面调用div来显示

母版页:

<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>   

内容页:

<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> 

我的内容页面的后台代码:

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是一个函数提醒消息“str”,在我们的例子中显示“errorTest”,这是insi的消息箱子里。

回答

0

必须的ContentTemplate

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

后把触发更新面板内它需要完整的页面请求。因此,在您的页面加载中加入以下行:

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

您能添加一个小解释吗? @GalaxMan –

+0

最后我解决了这个问题。我发现为包含图像的链接按钮添加触发器不起作用。它应该是一个asp Button或一个链接按钮 –