What is the most efficient and accurate way to determine how much data is sent to the server when an aspx page is submitted to the server (in MB)?
That info can typically be found in the web server log.
Assuming this is with IIS server, you may need to explicitly require this information as it is not logged by default. The name of the field in log file is sc-bytes (aka "bytes sent" in the config dialog.)
The path to these logs is %windir%\system32\logfiles\W3SVC1*.log. Note that rather than W3SVC1 this may be a different name, as per the web application "id".
To check the IIS logging setup:
in "Computer Management" Console, drill down in tree on the right to...
"Services and Applcations" + "Internet Information Service" + "Web Sites"
+ "whatever site in question".
Right-Click for "Properties", then on the
"Web Site" tab of the properties dialog, towards the bottom, is a button see the properties of the log.
Edit: (even though the reply was accepted...)
In re-reading the question, you are looking for the amount of bytes received by the server... Same location, but that is found in the cs-bytes (aka "bytes received") field. BTW, these two field names are similar: I think 's' stands for server and 'c' for client, so cs= from client to server, and sc the other way.
Performance counters for ASP.NET Applications category:
Request Bytes Out Total
The total size in bytes of responses sent to a client. This does not include HTTP response headers.
Requests Succeeded
The number of requests that executed successfully (status code 200).
Total Bytes Out/ Requests = Bytes Out per Request.