Определение множественной формы числа в зависимости от культуры в .NET

Aug 29
2007 08:33 (ASP.NET) · English (5,474 views)

Не так давно я столкнулся с проблемой отображения количество некоторых объектов в единственном и множественном числе (”Нет комментариев” или “меньше минуты назад”, “1 комментарий” или “минуту назад”, “2 комментария” или “2 минуты назад”). Это достаточно просто в английском (только три возможных варианта), но я работаю над приложением, которое должно быть локализовано для нескольких культур. Например, в русском у нас есть как минимум 4 формы (”Нет комментариев”, “1 комментарий”, “2 комментария”, “5 комментариев”) и не столь очевидные правила для множественных чисел (”11 комментариев”, “111 комментариев”, но “21 комментарий”). Я не знаю других языков, но подозреваю, что некоторые из них могут быть более сложные, чем русский. Здесь вы найдете мои мысли о такой локализации строк.

Читать дальше »

GridView с пейджингом в стиле Digg

Aug 27
2007 07:42 (ASP.NET) · English (21,638 views)

GridView — это отличный сильно кастомизируемый контрол ASP.NET. Сегодня я хочу показать, как создать наследник этого контрола, позволяющий добавлять пейджинг в стиле Digg в ваше приложение.

Читать дальше »

Использование свойства Panel.DefaultButton с контролом LinkButton в ASP.NET

Aug 25
2007 12:53 (ASP.NET) · English (28,427 views)

В ASP.NET есть существенное ограничение — на странице может быть только одна серверная форма. Даже если вы разрабатываете сложную страницу, которая выглядит как несколько форм с разными submit-кнопками, в действительности у вас есть только одна форма. Возникает следующая проблема: как браузер понимает, какая кнопка должна сработать, когда пользователь нажимает ENTER? Он использует первый контрол Button (что обычно неверно), а если вы используете LinkButton‘ы, они вообще не сработают. В ASP.NET 2.0 было добавлено новое свойство контролам Panel и HtmlFormDefaultButton, которое используется для указания ID контрола, реализующего интерфейс IButtonControl (обычно Button и LinkButton). Этот контрол сработает, когда пользователь нажмет ENTER. Но существует одна большая проблема: контрол LinkButton не сработает в Firefox по нажатию ENTER. В этой статье я покажу, почему возникает проблема и предложу ее решение.

Читать дальше »

 
Copyright © 2005 - 2008, Dmytro Shteflyuk