Sergey
- Вопросы
- Ответы
Имя | Sergey |
Возраст | Неизвестно |
Сайт | Неизвестно |
Неизвестно | |
Участвует в проекте | 1110 дн., 4 час., 21 мин. |
Последняя активность | 513 дн., 2 час., 41 мин. назад |
Ответы
Перейти к вопросу →
Вероятный ответ, использовать следующую картинку и вычислять вручную
Взято отсюда
Перейти к вопросу →
Элемент управления ObjectDataSource
может поддерживать дополнительные возможности сортировки и разбиения по страницам путем передачи сведений сортировки и разбиения в запросах от элемента управления с привязкой к данным, например, элемента управления GridView
к объекту данных для обработки. Затем объект источника данных или сам элемент управления источником данных может отсортировать данные и вернуть их на страницы.
Вот пример оформления ObjectDataSource
<asp:ObjectDataSource ID="dataSourceCustomer" runat="server" TypeName="Some.DB"
SelectMethod="GetCustomer" EnablePaging="true" SelectCountMethod="GetCustomersCount">
<SelectParameters>
<asp:ControlParameter Name="maximumRows" ControlID="gridView" PropertyName="PageSize" />
<asp:ControlParameter Name="startRowIndex" ControlID="gridView" PropertyName="PageIndex"/>
</SelectParameters>
</asp:ObjectDataSource>
Свойство SelectCountMethod
задает метод бизнес-объекта, который используется для извлечения общего числа строк с целью обеспечения поддержки разбиения источника данных по страницам. Свойство SelectCountMethod
оценивается, только если для свойства EnablePaging
задано значение true
.
Метод GetCustomer
принимает в качестве параметров maximumRows
и startRowIndex
Перейти к вопросу →
Самое распространённое решение этой проблемы:
1 Callback для таймера
Timer timer = new Timer(new TimerCallback(MyWorkCallback), HttpContext, 5000, 5000);
2 Поток в пул потоков
Thread thread = new Thread(Work);
thread.IsBackground = true;
thread.Start();
3 Собственно рабочий процесс
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(DoMyWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DoMyWork_Completed);
worker.RunWorkerAsync();
4 Кэширование как здесь
Перейти к вопросу →
Для вертикального выравнивания в блоках разработчики W3C создали замечательное свойство display: table-cell;
, которое позволяет заставить какой-либо элемент отображаться как ячейка таблицы. При этом добавив vertical-align: middle;
мы прекрасно справились бы с поставленной задачей, если бы не Internet Explorer, который ни в какую не хочет поддерживать свойство display: table-cell;
. Ниже приведен образец кода, который поможет IE отображать содержимое блока по середине, также как в остальных браузерах:
HTML:
<div class="container">
<p class="middled">Вертикально отцентрированный элемент</p>
</div>
CSS:
.container {
display: table-cell;
vertical-align: middle;
}
.middled {
margin-top: expression((parentNode.offsetHeight - this.offsetHeight)<0 ? "0" : (parentNode.offsetHeight - this.offsetHeight)/2 + "px");
}
Для укрощения IE мы воспользовались expression
‘ом. Expression выполняет следующие функции: он вычисляет высоту родительского и дочернего элементов, затем их разность делит пополам, а полученное в результате этого число мы используем в качестве значения верхнего отступа для дочернего элемента. Expression
лучше убрать в отдельный css файл используя условные комментарии.
Перейти к вопросу →
Для сжатия CSS
чаще всего используют:
- CSSMin. Библиотека проводит набор простейших замен в CSS-файле (удаляет ненужные символы) и склеивает его в одну строку.
- Minify. Библиотека, минимизирующая как CSS-, так и JS-файлы. Кроме того, она может слеивать несколько файлов в один, заменять относительные пути к фоновым картинкам на более короткие и самостоятельно отдавать кеширующие заголовки.
- YUI. YUI-compressor. Фактически, делает то же самое, что две предыдущих библиотеки.
- CSS Minifier. Автор разработал собственный алгоритм сжатия (по моему мнению, несколько переработанная версия CSS Tidy), который, по его собственному утверждению, «жмет лучше всех».
- CSS Tidy. Проект по минимизации CSS-файлов с открытым исходным кодом. Имеет много настроек, портирован на несколько языков и используется на нескольких ресурсах, которые предлагают инструментарий для минимизации CSS-файлов. Наиболее широко распространенная версия минимизатора.
Подробнее (тесты и описания) можно посмотреть здесь
Перейти к вопросу →
Для сжатия JavaScript
, кроме gzip
используют следующие инструменты:
- JSMin консервативный компрессор, написанный несколько лет назад Дугласом Крокфордом. Он абсолютно безопасен, так как не пытается изменить именя переменных и функций.
- Dojo shrinksafe очень популярный, написанный на
Java
, JavaScript компрессор, который парсит JavaScript, используя библиотекуRhino
и уменьшает имена переменных. - Packer от Дина Эдвордса, также очень популярен, он сжимает JavaScript регулярными выражениями и использует алгоритм архивации со словарем. Рекомендуется использовать, если вы не хотите использовать gzip-компрессию и если хотите обфусцировать код, сделать его непонятным.
- YUI Compressor один из самых номых компрессоров, написанный Жульеном Лекомтэ, объединяет безопасности JSMin с более высоким уровнем сжатия достигается Dojo shrinksafe. Как и Dojo shrinksafe, он написан на Java и на основе библиотеки
Rhino
.
Подробнее по YUI Compressor и Packer можно прочитать здесь
Перейти к вопросу →
Для решения проблемы нужно элементу присвоить display: inline; zoom: 1;
. С помощью zoom: 1;
мы присваиваем элементу hasLayout
.
Таким образом элементы с display: inline; zoom: 1;
в IE 6 и 7 будут отоборажаться как inline-block
. Конечно же не забываем обрамлять условными комментариями код написаный исключительно для IE.
Для корректного отображения inline-block в FF2 нужно элементу прописать следующие стили:
display: -moz-inline-stack;
display: inline-block;
То есть стиль должен выглядеть как то так:
.inline-block {
display:-moz-inline-stack; /* for FF2*/
display:inline-block; /* normal browsers */
zoom:1; /* for IE (hasLayout true) */
*display:inline; /* for IE */
}
Взято отсюда
Вот ещё одна заметка о кроссбраузерном использовании inline-block
Перейти к вопросу →
Можно сделать, как то так:
<form>
<input type="button" value="Кнопка" onClick='location.href="http://codehelper.ru/"'>
</form>
Перейти к вопросу →
Точную ссылку дать не смогу, но уверен, что метод AddOrder
точно использовать нельзя, ведь HQL подразумевает под собой хибернейтовскую абстракцию над классическим SQL, в котором и так можно указать сортировку. А критерии подразумевают как бы пошаговую генерацию запроса к базе данных.