• GetPostBackEventReference加RaisePostBackEvent实现自定义控件中回调传参


    RaisePostBackEvent(string eventArgument)
    说明:回调方法
    参数:eventArgument,返回客户端回调参数值

    Page.ClientScript.GetPostBackEventReference(control,string)
    说明:客户端指定页面control控件中使用string字符串,以便回调回服务器
    参数:control,实现PostBackOptions类,如控件,一般用this
         string,指定字符串值

    示例:
    类文件:
    using System;
    using System.Web.UI;
    using System.Collections;
    using System.Collections.Specialized;

    namespace CustomControls
    {

        
    public class MyButton : Control, IPostBackEventHandler
        {
            
    private int i = 0;

            
    //回调函数,回调参数值:eventArgument
            public void RaisePostBackEvent(string eventArgument)
            {
                Context.Response.Write(
    ""+eventArgument+"次点击");
                i 
    = int.Parse(eventArgument);
            }

            
    //控件呈现,Control类重写,传送参数至客户端
            protected override void Render(HtmlTextWriter output)
            {
                output.Write(
    "<input type=\"button\" name = " + this.UniqueID +
                   
    " Value = 'Click Me' onclick=\"javascript:"+Page.ClientScript.GetPostBackEventReference(this,(i+1).ToString())+"\"/>");
            }
        }
    }
    调用控件页面:

    <%@ Register TagPrefix="CustomControl" Namespace="CustomControls" %>
    <!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>无标题页</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
        
    <CustomControl:MyButton runat="server" ID="Button">
        
    </CustomControl:MyButton>
        
    </div>
        
    </form>
    </body>
    </html>

    注:
    当UseSubmitBehavior 属性为 false 时,GetPostBackEventReference方法可以与Button控件一起使用
    <%@ Register TagPrefix="CustomControl" Namespace="CustomControls" %>
    注册使用自定义控件,TagPrefix指定控件前缀,Namespace指定控件所在命名空间
    调用自定义控件则如下
    <TagPrefix指定名称:自定义控件类名></TagPrefix指定名称:自定义控件类名>
  • 相关阅读:
    阿里面试后的问题总结
    Spring IOC源码实现流程
    Spring Aop源码分析
    SpringCloud的分布式配置及消息总线
    阿里java编码规范考试总结
    压缩文件的压缩时候中文乱码码
    mybatis的时间比较 xml 及不解析<=的写法
    批量插入一张表的数据,并且生成不同的uuid 字符截取 批量更新 去除重复数据
    Redis集群的搭建
    Python 之 基础知识(二)
  • 原文地址:https://www.cnblogs.com/ywkpl/p/995592.html
Copyright © 2020-2023  润新知