Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > вывод сообщения об ошибке на другой странице


Автор: Ferrisgeneral 17.9.2012, 11:38
Задача такая:
на одной странице происходит ошибка и отлавливается через if/else или try/catch, и нужно на другую страницу (Error.aspx) предать в контрол <asp:Label ID="Label_ErrorMSG" runat="server"></asp:Label> сообщение об ошибке с приведущей страницы (т.е. происходит ошибка и мы перенаправляем пользователя на другую страницу, где выводится сообщение об ошибке).

переход на страницу с ошибкой делаю как:
Response.Redirect("..\\Error.aspx", false);
но как передать сообщение пока не понимаю (и возможно надо вообще использовать Server.Transfer вместо Response.Redirect)

Автор: rets 24.9.2012, 20:25
Просто редирект и передать текстовый параметр через строку запроса или другим способом? Как вариант.

Автор: Ferrisgeneral 25.9.2012, 09:18
в строке не хотелось бы передавать текст.

может сделать на каждой странице и странице с выводом ошибки одинаковый контрол (с одним именем) и через FindControl потом просто получать текст заполненный в контроле на странице на которой возникла ошибка ?

Автор: rets 25.9.2012, 13:58
Не, ну вот смотри. Делаешь статик класс с свойствами - описание ошибки. С страницы, где ошибка вышла - кидай код на страницу ошибки, а там по коду воводи ошибку из статик класса

Автор: Ferrisgeneral 26.9.2012, 09:17
думал конечно насчет статиков, но как-то на момент обдумывания мне казалось это не очень хорошей идеей ... но после того как ты написал, подумал еще раз и понял что это наверное то что надо.

Хотя хотелось бы узнать и другие варианты решения проблемы ... есть ли у кого-то еще идеи ?

Автор: rets 26.9.2012, 10:07
статик, конечно, для веб - приложений не приемлим, кроме как хранилище данных, кот. не меняются. В твоем случае никакого конфликта между пользователями из-за статика не будет. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)