引用 ajaxcontroltookit的程序集(dll)。 bin文件夹里显示有,但是控件却没有。此时需要重新引用。
切记用ajax控件首先 需要 <scriptmanager>.... 脚本控制器,放在Body最上面,form之后。
updatepanel 放 要更新数据的控件。
ModalPopupExtender (要弹出的窗口) 设置属性 targetid,popid 。
中间出现的问题:
1.问题一,在添加了ScriptManager、ModalPopupExtender和Panel后,在HTML网页中报"Sys"没有被定义的错误。
解决方案:关于问题一,在跟帖20多个之后,终于有了正确答案:在web.config中添加配置节点。
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
出现问题的原因是脚本解析的问题。
2. 后台不能response.write(),需用 下面4个方法之一 (已用过 第 2 个)
1. Response.Write("<script language=javascript>/r alert(/"修改失败!/");/r</script>");
2. ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "alert", "alert('你好 !');", true);
3. Page.RegisterStartupScript("alert", "<script language='javascript'>window.showModelessDialog(/"javascript:alert('你好!');/",/"/",/"status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;/")</script>");
4. //ClientScript.RegisterClientScriptBlock(typeof(UpdatePanel), "alert", "<script>alert('自己看着办!')</script>", true);
3.
ModalPopupExtender的使用 (写了okcontrolid后不能触发后台事件,只要将okcontrollid 去掉即可。原因是:默认用 okscript来执行脚本)
常用属性:
TargetControlID:用于触发弹出面板的控件。
OkControlID:弹出面板中的确认按钮,用于确认新的样式。
On
OkScript:当单击确认按钮后,关闭样式面板后,执行脚本。
CancelControlID:样式面板中的取消按钮,用于取消应用样式。
PopupDragHandleControlID:样式面板中用于触发面板的控件。
DropShadow:样式面板是否有阴影。值为True,则有阴影;值为False,则没有阴影。
BackgroundCssClass:样式面板中应用的css样式。