2010-05-28 6 views
0

Я чувствую, что это глупые вопросы, но мне трудно получить ответ.Скрыть диалог jquery на asp.net postback

Я только хочу показать диалог jquery, когда страница сначала отображается. После просмотра страниц существует несколько операций, которые вызывают обратную передачу страницы, но пользователь не перемещается от этой страницы.

Как отключить диалоговое окно jquery, отображаемое на этих событиях обратной передачи.

Заранее благодарен!

ответ

0
  • Вы можете сохранить переменную на сервере, чтобы указать, является ли это первым посещением.
  • Вы можете поместить что-то в строку запроса (или даже куки-файл, я полагаю), и проверим проверку javascript, чтобы определить, должно ли оно отображать его.
    (http://www.yoursite.com/yourpage?firstvisit=false)
1

Один из подходов может быть, чтобы удалить элемент диалога на постбэка, таким образом селектор JQuery ничего не соответствует. Не уверен, что это лучший способ или нет, но он должен работать.

void Page_Load() 
{ 
    // stuff 
    if(this.IsPostback) 
     dialogElement.Visible = false; 
} 

Ваш dialogElement может быть что угодно, до тех пор, как существует Runat = «сервер» вы можете получить к нему доступ из отделенного кода. Свойство Visible определяет, будет ли элемент отображаться в выходном файле HTML, поэтому, если он является ложным, тогда элемент не будет существовать в DOM.

+0

Спасибо за ваши ответы. Поскольку диалог должен отображаться при загрузке страницы, а также может быть вновь открыт, щелкнув ссылку, я придумал решение, подобное ckramer's. HtmlGenericControl bdy = (HtmlGenericControl) Master.FindControl ("MasterBody"); if (! IsPostBack) { bdy.Attributes.Add ("onload", "isPostBack()"); } else { bdy.Attributes.Remove ("onload"); } Javascript функция IsPostBack() { $ ('# thedialog') диалог ('открыто').; return false; } – mellowyellow77

0

Другой способ справиться с этим - вставить переменную на стороне сервера в страницу как переменную javascript во время события Page_Load на стороне сервера. Rick Strahl создал класс, который делает его тривиальным до pass ASP.NET server side variables to the client side JavaScript. Вы добавили бы ваши переменные как пары ключ/значение, которые будут отображаться как свойства JavaScript.

Смежные вопросы