頁面風格為:
左側AJAX容器中為功能樹,右側AJAX容器中為功能樹某一結點的詳細資料
右側AJAX容器中包含某一串連,用來開啟快顯視窗,進一步顯示功能樹某一結點的附屬內容。
圖中右側部分連結“該測試點步驟資訊”的點擊事件為:
ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "onclick", "showTab('" + hiddPropId.Value + "')", true);
開啟彈出頁面,其中hiddPropId為隱藏控制項,其value為功能樹目前點擊結點的ID值。
遇到問題:該連結第一次點擊可以彈出,但繼續點擊則不可彈出,(可能是因為AJAX容器中沒有重新整理的緣故,可以通過重新整理方式解決,但可能會影響目前頁面及功能樹展開結點狀態,因此未嘗試重新整理解決方案。)
對於該問題採用解決方案:
點選連結不到後台代碼中實現開啟快顯視窗功能,因為AJAX容器沒有更新就不會調用後台,因此應嘗試將開啟快顯視窗過程放在前台完成:
即連結中添加調用前台事件:OnClientClick='showTab()'
js事件為:
function showTab() {
//document.getElementById("lnkTab").click();
var id = document.getElementById('hiddPropId').value;
pop = new Popup({ contentType: 1, isReloadOnClose: false, width: 600, height: 500 });
pop.setContent("title", "測試點步驟");
pop.setContent("contentUrl", "TestTabManage.aspx?ItemID=" + id);
pop.build();
pop.show();
//window.showModalDialog('TestTabManage.aspx?ItemID=' + ID, '', 'dialogHeight:500px;dialogWidth:600px;center:yes;left:0;toolbar:no;location:yes;menubar:no;scrollbars:yes; resizable:no; status:no');
}
在js事件中擷取'hiddPropId'的value即功能樹結點的ID值,開啟快顯視窗。
其他問題:
在OnClientClick='showTab(<%= ID %>)',ID在後台設定為功能樹結點的ID值,調用js方法時直接使用該值,但調試結果:並沒有擷取到實際的ID值,而是將(<%= ID %>)作為字串常量傳了過去。
未解決問題:為什麼沒有解析(<%= ID %>)?