【问题标题】:LinkButton OnClick is Not Frie inside Update panalLinkBut​​ton OnClick 在更新面板中不是 Frie
【发布时间】:2016-01-18 12:52:59
【问题描述】:

LinkBut​​ton OnClick(LoadDocumentVersion) is Not Frie inside Update panal 这是我在 aspx 页面中的代码我尝试使用 UpdateMode="Conditional" 它没有触发,并且 asyncpostback 也使用它没有触发

<pre>LinkButton OnClick(LoadDocumentVersion) is Not Frie inside Update panal
    </pre>

         <asp:UpdatePanel ID="Aspx_UpdatePanel_DocumentVersion" UpdateMode="Conditional" runat="server">

                                                            <ContentTemplate>
                                                                <asp:LinkButton ID="Aspx_LinkButton_DocumentVersion" runat="server" Style="float: right; margin: 2px 5px 2px 0;"  CssClass="Label_Text9"
                                                                    OnClick="LoadDocumentVersion" />
                                                                <asp:UpdateProgress runat="server" AssociatedUpdatePanelID="Aspx_UpdatePanel_DocumentVersion"
                                                                    DynamicLayout="true">
                                                                    <ProgressTemplate>
                                                                        <img src="Images/loading.gif" />
                                                                    </ProgressTemplate>
                                                                </asp:UpdateProgress>

                                                                <table border="0" width="100%" cellpadding="0" cellspacing="0" align="center" style="float: left;">
                                                                    <tr valign="top">
                                                                        <td style="padding: 5px;" align="center">

                                                                            <asp:Repeater ID="Aspx_Repeater_DocumentVersions" runat="server">
                                                                                <HeaderTemplate>
                                                                                    <table border="0" width="100%" cellpadding="0" cellspacing="0" align="center">
                                                                                        <tr valign="top" align="left" class="border_spacing">
                                                                                            <td class="Heading_border_left_spacing">
                                                                                                <asp:Label ID="Label1" runat="server" CssClass="Label_Text12_Bold" Text="<%$Resources:CRMDocument, Lbl_Attachments_FileName %>" />
                                                                                            </td>
                                                                                            <td class="Heading_border_withoutspacing">
                                                                                                <asp:Label ID="Label2" runat="server" CssClass="Label_Text12_Bold" Text="<%$Resources:CRMDocument, Lbl_Attachments_Type %>" />
                                                                                            </td>
                                                                                            <td class="Heading_border_withoutspacing">
                                                                                                <asp:Label ID="Label3" runat="server" CssClass="Label_Text12_Bold" Text="<%$Resources:CRMDocument, Lbl_Attachments_Size %>" />
                                                                                            </td>
                                                                                            <td class="Heading_border_right_spacing">
                                                                                                <asp:Label ID="Label4" runat="server" CssClass="Label_Text12_Bold" Text="<%$Resources:CRMDocument, Lbl_Attachments_Created_By %>" />
                                                                                            </td>
                                                                                        </tr>
                                                                                </HeaderTemplate>
                                                                                <ItemTemplate>
                                                                                    <tr valign="middle" align="left" height="25px">
                                                                                        <td class="border_left_spacing">
                                                                                            <a class="Anchor_Text9_Grey" href="DownloadAttachment.aspx?InternalPath=<%#( (System.Data.DataRowView)(Container.DataItem)).Row["InternalPath"].ToString () %>&amp;InternalFileName=<%#( (System.Data.DataRowView)(Container.DataItem)).Row["InternalFileName"].ToString () %>&amp;ExternalFileName=<%#( (System.Data.DataRowView)(Container.DataItem)).Row["ExternalFileName"].ToString () %>"
                                                                                                onclick='javascript:SafeHandleURL(this, "DownloadAttachment.aspx", "<%#( (System.Data.DataRowView)(Container.DataItem)).Row["InternalPath"].ToString ().Replace ( @"\", @"\\" ) %>", "<%#( (System.Data.DataRowView)(Container.DataItem)).Row["InternalFileName"].ToString () %>", "<%#( (System.Data.DataRowView)(Container.DataItem)).Row["ExternalFileName"].ToString () %>" );'>
                                                                                                <asp:Label ID="Label5" runat="server" Text='<%#( (System.Data.DataRowView)(Container.DataItem)).Row["ExternalFileName"].ToString () %>'
                                                                                                    CssClass="Label_Text9" />&#160; </a>
                                                                                        </td>
                                                                                        <td class="border_withoutspacing">
                                                                                            <asp:Label ID="Label6" runat="server" CssClass="Label_Text9" Text='<%#( (System.Data.DataRowView)(Container.DataItem)).Row["Type"].ToString () %>' />&#160;
                                                                                        </td>
                                                                                        <td class="border_withoutspacing Label_Text9">
                                                                                            <asp:Label ID="Label7" runat="server" CssClass="Label_Text9" Text='<%#( (System.Data.DataRowView)(Container.DataItem)).Row["FileSize"].ToString () %>' />&#160;
                                                                                            <asp:Label ID="Label8" runat="server" CssClass="Label_Text12_Bold" Text="<%$Resources:CRMDocument, Lbl_Attachments_Bytes %>" />&#160;
                                                                                        </td>
                                                                                        <td class="border_right_spacing">
                                                                                            <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#( (System.Data.DataRowView)(Container.DataItem)).Row["CreatedBy"].ToString () %>'
                                                                                                CssClass="Label_Text9" CommandArgument='<%#( (System.Data.DataRowView)(Container.DataItem)).Row["CreatedByID"].ToString () %>'
                                                                                                OnCommand="GoToEmployee" />&#160;
                                                                                        </td>
                                                                                    </tr>
                                                                                </ItemTemplate>
                                                                                <FooterTemplate>
                                                                                    <tr height="10px">
                                                                                        <td colspan="3" />
                                                                                    </tr>
                                                                                    </table>
                                                                                </FooterTemplate>
                                                                            </asp:Repeater>
                                                                        </td>
                                                                    </tr>
                                                                </table>
                                                            </ContentTemplate>

                                                        </asp:UpdatePanel>

CodeBehind.cs

  protected void LoadDocumentVersion(object sender, EventArgs e)
        {
            try
            {
                string zszFolderID = "";
                string zszDocumentID = "";
                string zszIsPublic = "";
                EMSBLCommon.AddToLog("Document", "CRM", "View Document Versions", "");
                string zszUpdateDocument = Aspx_HiddenField_DocumentPath.Value;
                string zszDocumentPath = zszUpdateDocument.Substring(0, zszUpdateDocument.LastIndexOf('/'));
                string zszDocumentName = zszUpdateDocument.Substring(zszUpdateDocument.LastIndexOf('/') + 1);

                zszFolderID = GetFolderID(zszDocumentPath, ref zszIsPublic);
                zszDocumentID = EMSBLCRM.GetDocumentID(zszFolderID, zszDocumentName).ToString();
                if (!zszDocumentID.Equals("0"))
                    LoadDocumentAttachments(zszDocumentID);
            }
            catch (Exception ex)
            {
                Utilities.SendCrashEMail(ref ex);
            }
        }

【问题讨论】:

  • 你的代码在哪里?
  • 您是否将 ScriptManager 控件添加到您的 .aspx 文件中?
  • 没有它,您的更新面板将无法工作!!!在更新面板之前添加以下行:
  • 我添加了这个是因为我正在使用 Telerik 然后它也无法正常工作

标签: asp.net ajax asp.net-ajax


【解决方案1】:
  1. 确保您的 Page 指令中有 AutoEventWireup="true"

  2. 确保您没有收到错误,无论是客户端还是服务器端。附加一个调试器并逐步检查您的代码以确保这一点

  3. 您的按钮无法点击,因为它是不可见的,所以我假设您通过 JavaScript 调用点击。要为链接按钮执行此操作,您需要评估其 href 属性:eval(document.getElementById("&lt;%=Aspx_LinkButton_DocumentVersion.ClientID%&gt;").getAttribute("href"));

  4. 确保所有网络资源请求都通过(即 200 或 300 秒状态代码)。这就是获取 MS AJAX 框架的方式。

  5. 确保您的脚本管理器是 &lt;form&gt; 标记之后的第一个控件,并且所有后续启用 AJAX 的内容也在 &lt;form&gt; 内。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2020-08-26
    相关资源
    最近更新 更多