/* * ClientScript.RegisterClientScriptBlock注册的脚本,生成时放在html页面<form>的后边 * ClientScript.RegisterStartupScript注册的脚本,生成时放在html页面的</form>之前。 * 直接response.Write生成的脚本,放在整个html页面的最前边 * 当ajax的updatePanel执行时,只会刷新中间的页面和代码,所以不能直接注册用 * 直接用ScriptManager这个类注册脚本可以 */ protected void pOnSelectedNodeChanged(object sender, EventArgs e) { //选择一个节点时触发 string sRunMode = Request["RunMode"], sID = "", sScript = ""; if (string.IsNullOrEmpty(sRunMode)) sRunMode = ""; if (sRunMode.ToUpper() != "SELECTBASE") return; //若要求选择,则返回值 if (tv_Main.SelectedNode != null) sID = tv_Main.SelectedNode.Value.Trim(); if (sID == "") return; hf_Main.Value = sID; // //sScript = "<mce:script language=javaScript><!-- window.returnValue='" + sID + "'; window.close(); // --></mce:script>"; sScript = "window.returnValue='"+sID+"'; window.close();"; // ScriptManager.RegisterStartupScript(up_Main, Page.GetType(), "returnClose", sScript, true); //Response.Write("<mce:script language=javascript><!-- window.close(); // --></mce:script>"); }