zoukankan      html  css  js  c++  java
  • __doPostBack function

    __doPostBack function

    Hi everyone.

    Today I am going to talk about the __doPostBack function, because there is some confusion with using this function.
    You can see this __doPostBack function in your ASP.NET generated HTML code.

    The function takes the following two arguments: 

    eventTarget  - This contains the ID of the control that caused the post back.
    eventArgument
    - This contains any additional data associated with the control.

    In any ASP.NET page the two hidden fields: __EVENTTARGET and __EVENTARGUMENT are automatically declared. When a page is posted back to the server ASP.NET inspects __EVENTTARGET and __EVENTARGUMENT values and this way it can decide which of the controls caused the page to be posted back and what is the event that has to be handled.

    The value of the parameters eventTarget and eventArgument are stored in the hidden fields. The two hidden variables can be accessed from the code behind using the forms or params collection.

    If we inspect the code of the <span class="Apple-style-span">__doPostBack</span> function, we can see that it first sets the values of two hidden fields with the two parameters passed to the function. After this, the page is submitted back to the server. The ID of the control which causes the postback is stored in the __EVENTTARGET hidden field, so you can find the control which caused the postback.

    <a id="LinkButton1" href="javascript:__doPostBack( 'LButton3','' )">LinkButton</a>

    You can see the function call __doPostBack('LButton3','') in the href and the argument passed for eventTarget is "LButton3" which is the id of the link button control (EventSource)

    Example 

    1.Add two hidden fields inside the form.

    <input type =hidden name ="__EVENTTARGET" value ="">
    <input type =hidden name ="__EVENTARGUMENT" value =""> 

    2.Add javascript under the Head tag.

    直接点击button的话,不会触发__doPostBack方法。会自动触发button后台绑定的click事件

    <script>
    function __doPostBack( eventTarget, eventArgument )
    {
        document.Form1.__EVENTTARGET.value = eventTarget;
        document.Form1.__EVENTARGUMENT.value = eventArgument;
        document.Form1.submit();
    }
    </script>  

    3.Add two controls.

    <a id="LButton3" href="javascript:__doPostBack('Button2','')">LinkButton</a>
    <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />

    4.Add function in your cs page.

    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Write("Welcome to  Student Academic Blog");
    }

    5.You also need some code in the code behind to capture the postback and fire the event.

    In the PageLoad method add.

    __doPostBack( "Button2', '<event argument here>' ) 

     This would be captured in the code behind as Request.Form["__EVENTARGUEMENT"]

    So this is how you can use __doPostBack

     

  • 相关阅读:
    Java 写GBK 、utf8格式的文件 java
    NIOnio的美文分享一下,最近喜欢上了Nio希望能给大家扫扫盲
    maven入门和进阶 基础入门 希望帮助大家maven 教程
    log4j 基础
    FastDFS架构剖析(非常值得一看的架构分析和解读)
    FastDFS分布式文件系统问题总汇
    oracle 建表创建外键
    Mybatis下log4j日志输出不正常的解决办法 ,很实用哦 !!!!
    httpclient入门例子 demos
    Firebug http请求响应时间线
  • 原文地址:https://www.cnblogs.com/chucklu/p/11159233.html
Copyright © 2011-2022 走看看