Я полагаю, у вас есть две проблемы здесь.
Причина, по которой DIV отображается при первой загрузке, заключается в том, что вы еще не сказали этого не делать. Скрипт jQuery, который заставляет DIV вести себя как диалог, не запускается, пока не загружена HTML DOM, и до тех пор он не будет скрывать DIV. Простое решение - скрыть DIV по умолчанию с помощью CSS.
<div id="dialog" title="Membership Renewal" style="display:none;">
Your membership is going to expire.
</div>
Проблема с нажатием кнопки связана: RegisterClientScriptBlock
выведет скрипт, который запускается, как только он встречается, поэтому у кода jQuery, который превращает его в диалог, еще не было возможности запустить. Чтобы дать ему возможность сделать это, вы можете изменить код C # на RegisterStartupScript
, что будет задерживать выполнение showjQueryDialog()
до тех пор, пока страница не завершит загрузку, а код jQuery не сможет перевести DIV в диалог.
if (timeSpan.Days >= 30)
{
//Show JQuery Dialog Here
ScriptManager.RegisterStartupScript(this, typeof(Page),
"showExpiration", "showjQueryDialog()", true);
}