• __doPostBack学习笔记


    对于服务器端的控件,一切都是靠submit来实现提交服务器的操作的,
    对于无法象button控件那样可以自己产生提交操作的控件,比如LinkButton等,
    都是通过_doPostBack(ControlId)来实现提交的。
    ASP.NET会自动为页面生成下面的脚本:

    代码
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    function __doPostBack(eventTarget, eventArgument) {
    if(!theForm.onsubmit (theForm.onsubmit() != false)) {
    theForm.__EVENTTARGET.value = eventTarget;
    theForm.__EVENTARGUMENT.value = eventArgument;
    theForm.submit();
    }
    }

    __doPostBack带有两个参数:eventTarget和eventArgument。
    eventTarget是引起回送的控件的ID,eventArgument是回调参数(与控件相关的附加数据)。这两个参数分别由隐藏的两个表单域__ EVENTTARGET和__ EVENTARGUMENT保存。
    使用这两个隐藏的表单可以查找引起页面回送的控件ID和回送时的参数.

    防止ASP.NET页面重复提交的一个方法如下:

    Page_Load :Page.GetPostBackClientEvent(serverControl, "");

    代码
    <form id="form1" runat="server">
    <div>
    <asp:Button ID="btntest" runat="server" Text="test" OnClick="btntest_Click" />
    </div>
    </form>
    <script>
    function DisableButton(b) {
    b.disabled
    = true;
    b.value
    = '正在提交,请稍侯....';
    __doPostBack(b.id,
    '');
    }
    </script>



  • 相关阅读:
    Js 之判断某月有几天
    Java 之c3p0连接池对实体 "useSSL" 的引用必须以 ';' 分隔符结尾
    SQL真题实战(大厂真题)——来自牛客题霸
    公共api
    Windows下搭建redis 哨兵环境
    hibernate查询不到关联对象列表fetchType的选择
    「IOI2021」Dungeons
    「Gym103261H」Greedy Algorithm
    「牛客」牛半仙的妹子序列
    「UOJ 632」挑战最大团
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/1765754.html
Copyright © 2020-2023  润新知