You need a valid Canadian visa
to enter Canada, unless you are GC holder or a U.S. citizen.
I've been there before. But on my returning trip, I didn't need any U.S. visa. I used my still valid I94 for reentry to U.S. (that's called automatic visa revalidation, within 30 days between U.S. and Canada.)