ASP网站上的表格丢失了格式

时间:2013-11-21 15:01:17

标签: asp.net ajaxcontroltoolkit

好的,也许你们其中一个人可以弄清楚这里发生了什么。在我们的ASP网站上,我们有一个表格,提供有关用户的信息:

Screenshot 1, formatted table

页面上有一个链接,它会生成一个弹出菜单,允许用户通过电子邮件将此页面的链接通过电子邮件发送给朋友。但是,用户单击弹出窗体上的“关闭”按钮后,此表将丢失其格式并显示为:

Screenshot 2, unformatted table

我已经能够跟踪ajaxcontroltoolkit的问题,其中正在运行以下函数:

AjaxControlToolkit.HTMLEditor.addFormOnSubmit=function(e,d)
{
    var b="undefined",a=null,c=window.theForm;
    if(window.theForm!=a&&typeof window.theForm!=b)
    {
        if(c.AjaxControlToolkit_HTMLEditor_editPanels==a||typeof c.AjaxControlToolkit_HTMLEditor_editPanels==b)
        {
            c.originalOnSubmit_AjaxControlToolkit_HTMLEditor=window.theForm.onsubmit;
            c.AjaxControlToolkit_HTMLEditor_editPanels=[];
            window.theForm.onsubmit=AjaxControlToolkit.HTMLEditor.EditPanelsOnSubmit;
            if(window.__doPostBack!=a&&typeof window.__doPostBack!=b)
            if(window.__doPostBack_AjaxControlToolkit_HTMLEditor_original==a||typeof window.__doPostBack_AjaxControlToolkit_HTMLEditor_original==b)
            {
                window.__doPostBack_AjaxControlToolkit_HTMLEditor_original=window.__doPostBack;
                window.__doPostBack=AjaxControlToolkit.HTMLEditor.EditPanelsOnPostBack
            }
            if(window.ValidatorGetValue!=a&&typeof window.ValidatorGetValue!=b)
            if(window.ValidatorGetValue_AjaxControlToolkit_HTMLEditor_original==a||typeof window.ValidatorGetValue_AjaxControlToolkit_HTMLEditor_original==b)
            {window.ValidatorGetValue_AjaxControlToolkit_HTMLEditor_original=window.ValidatorGetValue;window.ValidatorGetValue=AjaxControlToolkit.HTMLEditor.ValidatorGetValue}
        }
        c.AjaxControlToolkit_HTMLEditor_editPanels.push({handler:e,editPanel:d})
    }
};

我应该注意到,这种情况发生在所有主流浏览器中,而不是孤立于单个浏览器。此外,我相信它正在达到此功能,因为当我将鼠标悬停在关闭按钮上时,我会看到javascript:__doPostBack('main_content_0$Close','')

我对这里发生的事情感到茫然,为什么这张桌子正在失去它的格式。如果有人可以提供帮助,我们将不胜感激。

创建表格的ascx文件中的代码:

<ItemTemplate>
    <asp:Placeholder runat="server" Visible='<%# IsNewGroup((string)DataBinder.Eval(Container.DataItem, "GroupTitle")) %>'>
        <tr>
            <td style="font-weight: bold; padding-left: 5px; border-bottom: 1px solid black;">
                <%# DataBinder.Eval(Container.DataItem, "GroupTitle") %>
            </td>
            <td style="font-weight: bold; border-bottom: 1px solid black;">
                Date Earned
            </td>
            <td style="font-weight: bold; border-bottom: 1px solid black;">
                Status
            </td>
        </tr>
    </asp:Placeholder>
    <tr>
        <td>
            &nbsp;
            <%#DataBinder.Eval(Container.DataItem, "CredentialName")%>
        </td>
        <td class="text_center">
            <%#DataBinder.Eval(Container.DataItem, "DateEarned")%>
        </td>
        <td>
            <%#DataBinder.Eval(Container.DataItem, "Status")%>
        </td>
    </tr>
</ItemTemplate>

1 个答案:

答案 0 :(得分:0)

事实证明,这个问题与AJAX无关。问题是由于C#代码中页面的页面加载功能中的错误IF / ELSE语句造成的;当页面回发时,它没有正确绑定页面上的表数据项。在纠正此问题,页面现在工作正常。