【发布时间】:2014-02-24 04:17:36
【问题描述】:
我正在使用 asp ModalPopupExtender 在 asp.net 页面中显示树视图。当我单击一个按钮时,将引发一个 ModalPopupExtender 并使用复选框加载树视图(加载树视图是一个用户控件 ascx)。在该用户控件中,我编写了一些服务器端代码,以便在检查父节点时检查所有子节点。对此我的页面将得到回发。我的问题是当我的页面被回发时,我的 ModalPopupExtender 正在启动,并且我的功能运行正常。
这是我在 ascx 页面中的树形视图
<asp:TreeView ID="tvFolderSelect" runat="server" RootNodeStyle-ForeColor="Black"
CssClass="foldertree" LeafNodeStyle-ForeColor="Black" LeafNodeStyle-Font-Bold="false"
ParentNodeStyle-ForeColor="Black" Width="100%" Style="margin: 3px 0 0 -16px;"
OnTreeNodePopulate="tvFolderSelect_TreeNodePopulate" OnTreeNodeCheckChanged="tvFolderSelect_TreeNodeCheckChanged" onclick="postbackOnCheck(event);"
ShowCheckBoxes="All" >
<LeafNodeStyle Font-Bold="False" ForeColor="Black" CssClass="foldertreeleafnode"
ImageUrl="~/images/img_dms/sm_fldr.png" />
<ParentNodeStyle Font-Italic="True" ImageUrl="~/images/img_dms/sm_fldr.png" Font-Underline="True"
CssClass="foldertreeparentnode"/>
<NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="0px"
NodeSpacing="0px" VerticalPadding="0px" />
<RootNodeStyle ForeColor="Black" CssClass="foldertreerootnode" />
<SelectedNodeStyle Font-Underline="False" HorizontalPadding="0px" VerticalPadding="0px" />
</asp:TreeView>
这是获取回发的javascript函数
function postbackOnCheck(e) {
var evt = e || window.event;
var o = evt.target || evt.srcElement;
if (o.tagName == 'INPUT' && o.type == 'checkbox' && o.name != null && o.name.indexOf('CheckBox') > -1) {
__doPostBack("", "");
}
}
这是我正在使用的控件
<img id="AddActivity" runat="server" src="../images/plus1.gif" alt="" style="text-align: right;
cursor: pointer; float: right; padding: 1%;" />
<asp:ModalPopupExtender ID="MPEACT" runat="server" TargetControlID="AddActivity"
PopupControlID="ACTDiv" BackgroundCssClass="modalBackground" />
我怎样才能停止让 ajax 弹出窗口不可见。
【问题讨论】:
-
您能否在页面完全加载后发布在浏览器中呈现的标记...在某个时间点后有脚本注入到您的网页中。我对在执行该脚本之前需要时间加载的任何内容感兴趣......
-
您是否尝试过使用更新面板进行回发?这样你就会得到预期的结果。
-
这是页面底部的链接asp.net/ajax/documentation/live/overview/…,您也可以找到一些示例。
-
在 pastebin.com 或类似的服务中分享渲染的 html。
-
这是我的 HTML pastebin.com/MYPuG0hH
标签: c# javascript asp.net ajax postback