zoukankan      html  css  js  c++  java
  • PostBack

    参考文章:http://www.cnblogs.com/artech/archive/2007/04/06/702658.html

    Part 1
    在新建页上拖出一个LinkButton控件,运行。在源文件中会出现__doPostBack函数。
    对应的LinkButton被转化成HTML的a Tag。
    <a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
    如果在aspx.cs中定义了LinkButton的事件,点击此a Tag时事件将会被触发。
    另:可以把链接文字去掉,做为隐藏的控件来利用。

    Part 2
    如果把上述的asp:LinkButton换成asp:Button,运行后在源文件中会找不到__doPostBack函数。
    对应的Button被转化成HTML的input Tag。
    <input type="submit" name="Button1" value="Button" id="Button1" class="Button1" />
    这种默认情况下Button将以submit的方式提交表单。

    为asp:Button1加上UseSubmitBehavior="false"属性之后,源文件出现__doPostBack函数。Button被转化成:
    <input type="button" name="Button1" value="Button" onclick="javascript:__doPostBack('Button1','')" id="Button1" class="Button1" />
    改变其表单提交的行为(type="button"),Button将通过调用javascript的方式(调用__doPostBack函数)提交表单。

    Part 3
    为Button加上属性后,在客户端可以这样调用服务端事件:
    <a href="#" onclick="document.getElementById('Button1').click()">HTML a Tag</a>
    <input type="button" name="Button2" id="Button2" value="Button2" onclick="__doPostBack('Button1','')"/>

    Part 4:
    类似Button2的调用还可以包括参数:
    <input type="button" name="Button3" id="Button3" value="Button3" onclick="__doPostBack('Button1','btn3')"/>
    在Button1_Click事件中加入:if (Request["__EVENTARGUMENT"] == "btn3") {  //doSomething  },用参数可区分出是哪个按钮触发事件。

    Part 5:
    联带笔记。多个Button共用一个函数方法:
    <asp:LinkButton ID="LinkButton1" runat="server" CommandName="1" OnCommand="MyPostBack">LinkButton</asp:LinkButton>
    <asp:LinkButton ID="LinkButton2" runat="server" CommandName="2" OnCommand="MyPostBack">LinkButton</asp:LinkButton>
    protected void MyPostBack(object sender, CommandEventArgs e)
    {
        Response.Write(((LinkButton)sender).ID + e.CommandName);
    }

    Part 6:
    Asp.Net夜话之五:Page类和回调技术
    参考文章:http://www.cnblogs.com/xiayang/articles/1428358.html 
    aspx:

    Code

    aspx.cs(page继承ICallbackEventHandler接口):

    Code
  • 相关阅读:
    第十二篇 -- 如何向MFC对话框添加菜单
    第十一篇 -- 如何实现MFC窗口的最大化以及控件随最大化
    第二十三篇 -- 学习第二十四天打卡20190715
    第十篇 -- 学习C++宝典2005版
    第二十二篇 -- 学习第二十一天打卡20190711
    修改nginx日志格式为json
    centos7 脚本搭建SVN
    jenkin、SVN、archery集成openLDAP
    centos搭建OPENldap
    matomo 开源网站分析平台
  • 原文地址:https://www.cnblogs.com/vipcjob/p/1534064.html
Copyright © 2011-2022 走看看