我正在使用asp ModalPopupExtender在asp.net頁面中顯示樹狀圖。當我點擊一個按鈕時,會彈出一個ModalPopupExtender並加載複選框(加載treeview是一個usercontrol ascx)。在那個用戶控件中,我寫了一些服務器端代碼,當我檢查一個父節點時,應該檢查所有的子節點。解決這個問題我的網頁將得到回傳。我的問題是當我的頁面發回我的ModalPopupExtender越來越關閉和我的功能正常工作。當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>
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彈出窗口。
您可以發佈在瀏覽器中呈現的標記我的面板不打烊當頁面完全加載時......在某個點之後會有腳本注入到您的網頁中。我感興趣的是任何需要時間來加載該腳本才能執行... – deostroll
您是否嘗試使用更新面板進行回發?這樣你會得到預期的結果。 –
這裏是一個鏈接http://www.asp.net/ajax/documentation/live/overview/updatepaneloverview.aspx在頁面底部你還可以找到一些例子。 –