一、ASP.NET Ajax 页面中应用了 jquery-easyui,当页面进行回发操作后只是局部刷新,原本的EASYUI 样式无法生效。解决这个问题的思路是让页面在回发后重新调用EASYUI进行重新“渲染”。
前端:
function refreshEasyui() {//重新渲染EASYUI 样式
$('.easyui-panel').panel({});
$('.easyui-linkbutton').linkbutton({});
}
后端:
ScriptManager.RegisterClientScriptBlock(this.Page, typeof(MasterPage), "refreshEasyui", "refreshEasyui(); if(window.reRegisterJS != undefined){reRegisterJS();}", true);
二、同样,如上述代码中的 reRegisterJS 的调用,也是用于解决局部刷新时,JS 未执行到的问题;
三、另外,关于页面大小改变后EASYUI的各板块没有跟着变动,问题。一种思路也是如此原理,如下:
window.onresize = function() {
setTimeout(refreshEasyui, 500);
}
对于 EASYUI 带有的 fite=”true” 的使用是否能启到这种效果,需要大家实际验证。
感觉有点绕,是否对于一,二 两点可以考虑将JS 放入 <updatepanel>中, 待实验。