好的,也许你们其中一个人可以弄清楚这里发生了什么。在我们的ASP网站上,我们有一个表格,提供有关用户的信息:
页面上有一个链接,它会生成一个弹出菜单,允许用户通过电子邮件将此页面的链接通过电子邮件发送给朋友。但是,用户单击弹出窗体上的“关闭”按钮后,此表将丢失其格式并显示为:
我已经能够跟踪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>
<%#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>
答案 0 :(得分:0)
事实证明,这个问题与AJAX无关。问题是由于C#代码中页面的页面加载功能中的错误IF / ELSE语句造成的;当页面回发时,它没有正确绑定页面上的表数据项。在纠正此问题,页面现在工作正常。