Реклама
Комментарии 22
Так тоже можно написать вроде:
вместо
int id = Request[“id”] == null ? 0 : Convert.ToInt32(Request[“id”]);
так:
int id = Convert.ToInt32(Request[“id”] ?? 0);
Да, теперь работать будет, но это не айс конвертировать "0" в int. :)
Ну не генерите вы общих Exceptions! Да тем более с такими сообщениями, как "Неправильный параметр". Есть же ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, где можно указать имя аргумента, есть NotSupportedException и InvalidOperationException - отлаживать код будет гораздо приятнее.
Спасибо за комментарий. Все исключения, которые генерируются у меня на страницах (не дай бог) переадресуются на user-frendly страницу с описанием и предложением вариантов решения проблемы. Написанные по-русски описания качественно отличаются от английского языка (у меня не локализованный .net), а дополнительная информация для отладки легко берется из stackinfo. У меня нет проблем с этим. Кроме того, хотел бы заметить что в задачу данной статьи вообще не входил вопрос про исключения. Приведенный пример легко модифицируется и я оставляю право за вами использовать любые исключения, какие вам угодно.
у любого примера велик шанс что его возьмут и тупо скопипастят. что после дальнейшего ревью после отмазки "я вот тут взял, тут так и написано" оставит соответствующее впечатление об авторе. решайте сами.
смысл познается в мелочах. если вы не чувствуете разницу между ((QueryStringBindingAttribute)_attr) и (_attr as QueryStringBindingAttribute) , который кстати вообще не нужен в вашем коде, а также между ArgumentException и ArgumentNullException, то примеры лучше не писать.
У вас интересная манера общаться. Я почитал ваши сообщения, как и ожидал статей не обнаружил. Увидел несколько постов с указанием "некто" не делать "что-то". Вы не советуете, а надменно порицаете. Какая от этого польза известно только вам.
каких статей вы ожидали? я не seo/smo-шник, не жж-ист, не раскручиваю свой блог, я не умею следить и постить новости. здесь не мой круг. единственное, что я жду от хабра - это it-новости. если вам так интересно, можете посмотреть мои сообщения на rsdn, ник - OVL. у меня в мыслях не было превращать этот топик в спор. хотите улучшить свои знания - welcome, не хотите - никто не заставляет.
В old-school программировании на ASP.NET вообще не нужно пользоваться Request[".."], поскольку предполагается, что все активные элементы должны быть элементами управления.

New-school ещё не зарелизилась вроде как (MVC Framework). Здесь происходит попытка (как мне показалось) сделать свой MVC (контроллер-представление-модель) в едином классе. Не очень красивое решение на мой взгляд.

Ну и повторюсь - механизм исключений для проверки правильности ввода - это черезчур на мой взгляд.

P.S. Насчёт исключений был абсолютно правильный комментарий. Использование не наследников класса Exception считается плохим стилем как минимум. См. рекомендации Microsoft или других, более авторитетных для вас, источников.
P.P.S. Сообщения, даже если не предполагается мультиязычности, полезно брать из ресурсов, чтобы хранилось это в одном месте, а не было размазано по коду.
Нет, MVC я делать не собирался. Вы почему-то пытаетесь додумать за автора. Все так, как и написано. Заполнение необходимых переменных полями со строки запроса.

По поводу плохого стиля хотел уточнить, использование самого класса Exception - это плохой стиль?

По поводу последнего комментария, у себя я так и делаю:


if (p_page == null)
throw new Exception(Properties.Settings.Default.InvalidParamsError);


Но тут, для ясности вынес строки.
Да, но файлы ресурсов я не использую. Использую Properties. Хотя может быть в этом есть что-то плохое? Честно говоря, не задавался вопросом, что лучше.
Я сам не особо в теме, но, имхо, ресурсы собираются во время компиляции и переключение между разными локализациями происходит плавно и незаметно ни для пользователя, ни для разработчика. А проперти, насколько я могу понять, вам придется переделывать руками.
Это хорошо, но мой проект не подлежит локализации. И таких проектов в России, думаю, не так много (но они конечно есть и даже, вполне возможно, вы их разрабатываете).
XaocCPS, можно тебя попросить написать топик о простом создании динамических контроллов. А то в нете только изврат различный нахожу(
Контролы которые можно добавлять на форму динамически? Неплохая тема кстати, несколько раз делал. Постараюсь написать о том, что у меня получалось.
Большое спасибо)
Меня интересует динамическое добавление произвольного UserControl'a с сохранением состояния контролла при постбеке.... не нашел вообще ничего нормального. везде что-то не то предлагают) А так был бы универсальный Tip)
Еще раз спасибо)
Только полноправные пользователи могут оставлять комментарии. , пожалуйста.