Currently when using the web report viewer, the report is being refreshed upon every postback. So basically if you need to change it on Page_Load, you can hook it to the ReportViewer in Page_Load event based on your conditions instead of declaratively setting it through the aspx markup i.e.
protected void Page_Load(object sender, EventArgs e)
if (!Page.IsPostBack && some condition)
ReportViewer1.Report = new Report1();
the Telerik team