|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。javascript|控件在atlas内里有UpdatePanel控件,撑持部分更新,只需指名Mode="Conditional",固然,ScriptManager也要设置EnablePartialRendering="true"。
部分更新,利用的是xmlHttp。历程以下:
1:postback的时分,页面的js把页面上数据postback(是全部页面都要postback的)
2:背景吸收到哀求,入手下手处置(页面的pageLoad甚么的都能够触发了)
3:处置终了以后,只把要更新的数据发还到页面(依据你要更新的UpdatePanel的称号来断定回发那一部分数据。就是this.updatePanelXX.Update()那一句代码了)
4:页面(客户端)只对这一部分回发数据举行更新(这就是所谓的部分更新,办法就是找到updatePanle,然后UpdatePanel.InnerHtml=PostBackData。就是一个间接交换。)
由此看来,所谓部分跟新就是只把指定的updatePanel的部分从头绘制(回发服务器的时分是全部页面都要回发的;背景代码也是和之前一样每个城市处置;可是处置的了局只要部分被前往到客户端)。
如许一来,假如你想在UpdatePanle处置的时分特地激发一个页面的js处置就很坚苦了。由于你回发的数据全体被更新到了一个小角落,之前的Response.Write(js)基本不起感化。
办理的办法是如许的:
this.Page.ClientScript.RegisterStartupScript(this.GetType(),"OpenOverViewPart",openScript);利用RegisterStartupScript办法来注册js函数,然后就能够顺遂实行。
实在实行也不是那末顺遂,由于atlas在实行部分跟新以后,会把页面上一切的js都放到一同---多管正事---以是会形成一些小影响:良多js都有诸如<!-之类的正文标记,一不当心,你本人的js也会被正文起来。这个切实其实对照贫苦。
办理的举措对照下X,必要本人把持一下js输入的作风,多加几个回车换行,以示不属于正文
stringopenScript="
";
openScript="<script"+"type=text/javascript>
"
+"
"
+"vara=0;
"
+"opener.top.__doPostBack("+Request.Params["refresh"]+",refresh);
"
+"window.opener.focus();"
+"window.close();"
+"<"+"/script"+">";
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。 |
|