Asp .Net UpdatePanel不能正常工作

时间:2013-07-03 08:47:01

标签: c# asp.net updatepanel

我使用UpdatePanel来显示一些通常隐藏的控件。

这是我正在使用的代码:

<asp:LinkButton runat="server" class="btn blue h27" CausesValidation="false" ID="lnkSuggestArticle"
                OnClick="lnkSuggestArticle_Click"><%=Supplier.GetResource("Answers_lnkSuggestArticle")%> <i class="icon icon_next_02 fr"></i></asp:LinkButton>
            <asp:UpdatePanel runat="server">
                <ContentTemplate>
                    <div class="infoRequest" id="divSuggestion" runat="server" visible="false">
                        <br class="clearfix" />
                        <h3>
                            Please provide the information you want to see on our support site:</h3>
                        <br class="clearfix" />
                        <asp:TextBox runat="server" ID="txtSuggestArticle" Rows="10" ValidationGroup="s" Width="100%"
                            TextMode="MultiLine"></asp:TextBox>
                        <div id="divEmailAddress" runat="server" visible="false">
                            <br />
                            <h3>
                                Please enter your email address</h3>
                            <asp:TextBox runat="server" ID="txtEmailAddress" Rows="1" ValidationGroup="s" CssClass="suggestionEmail"
                                TextMode="SingleLine"></asp:TextBox>
                            <br />
                        </div>
                        <br />
                        <asp:Label runat="server" ID="lblSugestedArticleError" ForeColor="Red" Visible="false"></asp:Label>
                        <asp:Label runat="server" ID="lblMessage" ForeColor="Red"></asp:Label>
                        <br />
                        <asp:LinkButton ID="btnSaveSuggestion" ValidationGroup="s" runat="server" OnClick="btnSaveSuggestion_Click"
                            CssClass="btn blue fr"><%=Supplier.GetResource("createticket_btnSuggest")%> <i class="icon icon_next_02 fr"></i></asp:LinkButton>
                        <%--<input type="submit" value="Suggest" class="btnSuggest" />--%>
                        <br />
                        <br />
                        <p id="notice" runat="server">
                            <asp:Label runat="server" ID="lblSuggestionNote" /></p>
                    </div>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="lnkSuggestArticle" />
                </Triggers>
            </asp:UpdatePanel>

当用户点击lnkSuggestArticle按钮时,我执行以下代码:

protected void lnkSuggestArticle_Click(object sender, EventArgs e)
{
    divSuggestion.Visible = true;
    if ((WFSS.DataAccess.Entities.Customer)Session["__currentCustomer"] == null)
    {
        divEmailAddress.Visible = true;
    }
}

但它不会更新页面。当用户点击建议按钮时,div仍然隐藏。

2 个答案:

答案 0 :(得分:1)

事实证明,Visual Studio中存在一个错误。我在aspx文件中评论了一段代码。事实证明,即使它似乎被注释仍然执行的代码导致另一个更新面板被添加,这给了我一个javascript错误。

答案 1 :(得分:1)

   protected void lnkSuggestArticle_Click(object sender, EventArgs e)
{
    divSuggestion.Visible = true;
    if (Session["__currentCustomer"] == null)
    {
        divEmailAddress.Visible = true;
    }
}