"expression has been evaluated and has no value." means the debugger ran the expression and it didn't return any thing. It means the Show method has no return value, but the debugger ran it.
What is a modalpopupextender ? Is it part of the AJAX library ? You're doing a postback, so you're not using AJAX ( unless the AJAX library is doing it ) ? If you're doing an AJAX postback, why do you want to ask an AJAX control to show itself as well ?
I don't use the ASP.NET AJAX library ( it's horrendous ) but this article
ModalPopupExtender from Server Side Code[
^] seems to indicate that what you're doing is right. The control will, of course, not show when you call the method in the debugger, the method would just tell the control to show itself when the page is rendered. You know that, right ?