So this is about output caching, and I am trying to use <%@ OutputCache VaryByParam="">, how to realize this?
VaryByParam refers to the query string parameters in the request url. So you would need to submit the dropdownlist values as part of the url query string.
You would probably need to use javascript to alter the request url since you would not know the selected values server side.