Your code translates to this :
if (Price != null) { %><% Price; }
Price is a variable, and you're using it as an expression. I would suggest making Price a property that never returns null, and replacing all of this with =Price. The alternative is to replace Price with Response.Write(Price), Price by itself is not a statement to output that variable, and it has no value, and creates the error ( which is NOT a null reference, that's why it doesn't say 'null' anywhere ).
The two code blocks are also messing you up. Get rid of the middle ones, the ones I quoted.