Используя Kotlin, ничто не решает мою проблему, пока я не изменяю параметр Разработчика от 'applicationContext' до 'этого'.
не Делает работ
val dialogDelete = AlertDialog.Builder(applicationContext)
.setTitle("Confirmation")
.setMessage("Delete this photo?")
.setNegativeButton(android.R.string.no){ it, which ->
it.dismiss()
}
dialogDelete.show()
Работы
val dialogDelete = AlertDialog.Builder(this)
.setTitle("Confirmation")
.setMessage("Delete this photo?")
.setNegativeButton(android.R.string.no){ it, which ->
it.dismiss()
}
dialogDelete.show()
Я предпочитаю выводить всплывающее сообщение о том, что сеанс истек, а затем перенаправлять на страницу входа, которая вернется к текущей странице после входа в систему.
С этим можно по-настоящему вообразить. Если AJAX on onError является недопустимым сеансом, откройте модальное всплывающее окно (форма светового поля) с вашим представлением входа в систему, заключенным внутри. Разрешите пользователю входить в систему из модального окна, тогда они не потеряют никаких данных формы и не будут перенаправлены на весь ваш сайт. Однако, скорее всего, потребуется попытаться репостить свои данные. Может потребоваться некоторая работа, но, в конце концов, я думаю, что для конечного пользователя это будет проще.
PS - Я думаю, что интерфейс входа типа Digg.com. Нажмите «Добавить комментарий», откроется модальное всплывающее окно.
не уверен, какой фреймворк ajax вы используете, но большинство (включая asp.net ajax) обрабатывает исключения сервера, позволяя вам указать функцию onError.
Namespace.Object.Method( var1, var2, onSuccess, onError ) { ... } и т.д.
если вы позволите asp.net управлять сессиями, и пока данная страница включена только для аутентифицированных пользователей, фреймворк будет бросать исключение недействительной сессии, когда она истечет (я забыл, когда именно)
внутри onError вы можете проверить тип исключения и перенаправить на страницу входа. фактически, все, что вам нужно сделать, это перезагрузить текущую страницу, и .net перенаправит ее на страницу входа. document.location.href = document.location.href; (это перезагрузит текущую страницу, игнорируя данные отправленной формы, если таковые имеются)