Почему бы не всегда вызывать метод jquery при нажатии кнопки, а затем определять в методе javascript, хотите ли вы показать диалог? Если нет, просто ничего не делай. Поскольку вы просто проверяете, меньше ли ExpirationDate, чем сейчас + 30 дней, вы можете прекрасно выполнить этот расчет в javascript.
Edit:
Я не могу предоставить вам точное решение, но вот псевдокод, который поможет вам в этом.
Сначала сделайте дату истечения срока действия профиля пользователя доступной в javascript:
<script>
var userProfileExpiresOn = "<asp:Literal ID="userProfileExpiresOn" />";
</script>
Затем отредактируйте ваш метод так, чтобы он выполнял ту логику, которую вы сейчас выполняете на стороне сервера:
<script>
function showjQueryDialog() {
if (userProfileExpiresOn < (now + 30 days))
$("#dialog").dialog("open");
}
</script>
Документацию по о работе с датами можно найти в Javascript в W3schools.