OnInit和OnLoad

主要就是父类和子类间OnLoad,OnInit,Load 事件,Init事件的执行先后问题。

一个页面(子类)的Oninit方法最先启动执行,而后递归执行父类中Oninit方法,父类Oninit方法中添加Init事件,执行 Page_Init方法,后再返回父类Oninit方法执行完毕,最后返回子类Oninit方法执行完毕,再执行子类Onload方法,而后递归执行父类中Onload方法,父类Onload方法中添加Load事件,执行Page_Load方法,后再返回父类Onload方法执行完毕,最后返回子类 Oninit方法执行完毕,这样才执行完了。

如下父类:

public class PageBase:System.Web.UI.Page
{
protected override void OnLoad(EventArgs e)
{
string ss = "1";

base.OnLoad(e);
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}


}

子类:

public partial class _Default :PageBase
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Page_Init(object sender, EventArgs e)
{
// Do any related intialization work.
}

protected override void OnInit(EventArgs e)
{

base.OnInit(e);
}


protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
}

整个过程是:

最先执行子类_Default 的OnInit的方法,这里调用父类PageBase的OnInit方法,在PageBase的OnInit方法内注册Init事件,执行Page_Init方法,而后返回至父类PageBase的OnInit方法终执行完毕,返回子类Oninit方法执行完毕;接着调用子类_Default 的Onload的方法,这里调用父类PageBase的Onload方法,在PageBase的Onload方法内注册Load事件,执行Page_Load方法,而后返回至父类PageBase的Onload方法终执行完毕,返回子类Onload方法执行完毕。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在微信小程序中使用ECharts需要使用`ec-canvas`组件,并在组件中设置`canvas-id`和`ec`属性。如果您在canvas标签内设置了`ec`属性,但是`onInit`方法没有被执行,可能是因为您没有正确地引入ec-canvas组件或者没有正确地配置`onInit`方法。以下是一个基本的使用ec-canvas的示例: 1. 在WXML文件中引入ec-canvas组件。 ```html <!-- index.wxml --> <view class="container"> <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> </view> ``` 2. 在JS文件中初始化ec-canvas组件,并设置`onInit`方法。 ```javascript // index.js import * as echarts from '../../components/ec-canvas/echarts'; Page({ data: { ec: { onInit: initChart } }, onLoad: function (options) { // ... } }); function initChart(canvas, width, height, dpr) { const chart = echarts.init(canvas, null, { width: width, height: height, devicePixelRatio: dpr // 分辨率 }); canvas.setChart(chart); const option = { // ... }; chart.setOption(option); return chart; } ``` 请注意,`onInit`方法必须在组件的`ec`属性中设置,并且需要传入一个函数,该函数会在组件初始化时被调用。该函数必须接受四个参数:canvas、width、height和dpr。在该函数中,您可以使用ECharts的API初始化图表,并将图表对象返回。最后,您需要在图表对象上调用`setOption`方法,将选项对象传递给图表。 如果您已经正确地引入ec-canvas组件,并设置了`onInit`方法,但仍然无法正常工作,请检查您的选项对象是否正确,并确保ECharts库已正确地引入到您的小程序中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值