Yes, you got!
protected void Page_Init(object sender, EventArgs e)
{
..fill the report..
}
but don't forget to close it (this will avoid report counter to reach the limit!)
protected void Page_Unload(object sender, EventArgs e)
{
reportDocument.Close();
}