C# 从后台代码同步或异步注册Javascript到页面之RegisterStartupScript和RegisterClientScriptBlock的区别


下面来讲讲同步注册JS和异步注册JS的区别

同步注册JS:RegisterClientScriptBlock,相当于在 form开始处(紧接 <form runat="server"> 标识之后)发送脚本块,在HTML节点还没加载的时候就可以先注册JS了

异步注册JS:RegisterStartupScript,在 form结尾处(在 </form> 标识之前)发送脚本块,在document装载完成后会执行,等价于body.onload=f(){}里的内容,要等HTML节点元素渲染完成之后再加载JS

string script = "var iSetEditInputRealOnly;function SetEditInputRealOnly(){$('input[type=text],textarea,select').attr('disabled','disabled');$('table[class=edittable][projectcurrencyexchangerate=1]').find('img').hide();$('table[class=edittable][projectcurrencyexchangerate=1]').find('tr[class=head]').find('div').eq(0).hide();$('#ctl00_body_CycleAndScenario_ddlCycle,#ctl00_body_CycleAndScenario_ddlScenario').removeAttr('disabled');if($('table[class=edittable][projectcurrencyexchangerate=1]').find('img').length>0){clearInterval(iSetEditInputRealOnly)}$('input[type=submit]').click(function(event){$('#divImgWait').hide();event.preventDefault()})}$(document).ready(function(){iSetEditInputRealOnly=setInterval('SetEditInputRealOnly()',1000)});";
               
                //异步注册JavaScript
                System.Web.UI.ScriptManager.RegisterStartupScript(Context.Page, ((SysPage)Context.Page).GetType(), Guid.NewGuid().ToString(), script, true);
                //同步注册JavaScript
                Page.ClientScript.RegisterClientScriptBlock(Context.Page, ((SysPage)Context.Page).GetType(), Guid.NewGuid().ToString(), script, true);

优质内容筛选与推荐>>
1、系统分布式情况下最终一致性方案梳理
2、Nginx 无法启动,pid=4占用80端口
3、APP开发之UI体验—DrawerLayout
4、条件判断IE版本加载不同CSS
5、php生成静态html分页实现方法


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号