• Asp.net 回调机制


    前台aspx:
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        
    <title>CallBack Page</title>
        
    <script type="text/javascript">
            
    function GetNumber() {
                UseCallback();
            }

            
    function GetRandNumberFromSer(TextBox1, context) {
                document.forms[
    0].TextBox1.value = TextBox1;
            }
        
    </script>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
            
    <input id="Button1" type="button" value="Get Rand Num" onclick="GetNumber()" /><br />
            
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        
    </div>
        
        
    </form>
    </body>
    </html>

     后台CS页面:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public partial class _Default : System.Web.UI.Page ,System.Web.UI.ICallbackEventHandler
    {
        
    private string _callbackRestule = "";
        
    protected void Page_Load(object sender, EventArgs e)
        {
            
    string cbRefer = Page.ClientScript.GetCallbackEventReference(this"arg""GetRandNumberFromSer""context");
            
    string cbScript = "function UseCallback(arg,context)" + "{" + cbRefer + ";" + "}";

            Page.ClientScript.RegisterClientScriptBlock(
    this.GetType(), "UseCallback", cbScript, true);
        }

        
    public void RaiseCallbackEvent(string eventArg)
        {
            Random rnd 
    = new Random();
            _callbackRestule 
    = rnd.Next().ToString();
        }

        
    public string GetCallbackResult()
        {
            
    return _callbackRestule;
        }
    }

    生成的浏览页面源码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>
        CallBack Page
    </title>
        
    <script type="text/javascript">
            
    function GetNumber() {
                UseCallback();
            }
            
    function GetRandNumberFromSer(TextBox1, context) {
                document.forms[
    0].TextBox1.value = TextBox1;
            }
        
    </script>
    </head>
    <body>
        
    <form name="form1" method="post" action="Default.aspx" id="form1">
    <div>
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjgzMDgzOTgzZGSopwuMyHhFr03Z7y0kgY8Ughlkyg==" />
    </div>

    <script type="text/javascript">
    //<![CDATA[
    var theForm = document.forms['form1'];
    if (!theForm) {
        theForm 
    = document.form1;
    }
    function __doPostBack(eventTarget, eventArgument) {
        
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value 
    = eventTarget;
            theForm.__EVENTARGUMENT.value 
    = eventArgument;
            theForm.submit();
        }
    }
    //]]>
    </script>

    <script src="/WebSite1/WebResource.axd?d=_CLnVr0GkJ8I80CCN-XxtA2&amp;t=633809228264971767" type="text/javascript"></script>

    <script type="text/javascript">
    //<![CDATA[
    function UseCallback(arg,context){WebForm_DoCallback('__Page',arg,GetRandNumberFromSer,context,null,false);}//]]>
    </script>
    <div>
        
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKT8YSWCwLs0bLrBkZdKNW+68rz1y5Ky5Wg/oK9Jpwj" />

    </div>
        
    <div>
            
    <input id="Button1" type="button" value="Get Rand Num" onclick="GetNumber()" /><br />
            
    <input name="TextBox1" type="text" id="TextBox1" />
        
    </div>

    <script type="text/javascript">
    //<![CDATA[
    WebForm_InitCallback();
    //]]>
    </script>
    </form>
    </body>
    </html>
  • 相关阅读:
    PHP userAgent解析 PHP
    VB 2 C# 语法对比图
    HTML特殊字符数据库读写处理
    备份数据库
    Rose建模初步 [来自:UMLChina]
    ASP下的二级联动(XML方式)
    VSS使用手册
    管理项目的好助手——VSS入门
    【转】VB.NET的阳历与农历转换的算法
    GIF, JPEG和PNG
  • 原文地址:https://www.cnblogs.com/tonybinlj/p/1506965.html
Copyright © 2020-2023  润新知