局部刷新 与 点击按钮弹出窗口 (ajax 控件 updatepanel ModalPopupExtender )

来源:互联网 发布:班服logo设计软件 编辑:程序博客网 时间:2024/05/16 12:39

引用 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样式。

 

原创粉丝点击