I have found a solution but I cannot believe it is optimal! The solution is to build a complete page with the following code in the page load:
Dim FinalBitmap As Bitmap
Dim NumMerits = Request.Params("Merits").ToString
Dim BarGraphPercent = Request.Params("BarGraph").ToString
Dim msStream As New MemoryStream
Response.ContentType = "image/png"
If Not IsNothing(FinalBitmap) Then FinalBitmap.Dispose()
In the main page I then link each row to a
(or whatever that student's figures are)
This then results in 30 calls to the server, one for each image. Surely there is a better way than this!