Цей блог більше не оновлюється. Я продовжую писати тут.

jQuery validation

Понеділок, 20 жовтня 2008 р.

Потрібно було мені перевірити поля з email і паролем перед відсиланням на сервер.
Я вирішив використати для цього jQuery. Знайшов чудовий плагін Validation, який дозволяє досить легко налаштувати що і як перевіряти.

Ось код який я використав для перевірки моїх ASP.NET полів:

$().ready(function(){
  $("#aspnetForm").validate({
    rules: {
      <%=tbEmail.UniqueID %>: {required: true,email: true},
      <%=tbPassword.UniqueID %>: {required: true}
    },
    messages: {
      <%=tbEmail.UniqueID %>: "Please enter a valid email address",
      <%=tbPassword.UniqueID %>: "Please provide a password"
    }
  }); 
});

* This source code was highlighted with Source Code Highlighter.


Але в мене виникла проблема: поля перевірялись лише після натискання на asp:Button чи простого input, але я використовував на сторінці LinkButton який викликав __doPostBack а не стандартний метод submit. Трохи покопавшись в коді я знайшов вирішення.

Можна написати так:
$().ready(function(){
  $("#aspnetForm").validate({
   .....
  });
  var form = $("#aspnetForm")[0];
  form.onsubmit=function(){
     return $("#aspnetForm").triggerHandler("submit");
  };
});


* This source code was highlighted with Source Code Highlighter.


Але мені потрібно перевіряти значення і блокувати надсилання данних на сервер, лише, при натисненні певної кнопки. Далі наводжу повний код для валідації який я використав:
$().ready(function(){
  $("#aspnetForm").validate({
    rules: {
      <%=tbEmail.UniqueID %>: {required: true,email: true},
      <%=tbPassword.UniqueID %>: {required: true}
    },
    messages: {
      <%=tbEmail.UniqueID %>: "Please enter a valid email address",
      <%=tbPassword.UniqueID %>: "Please provide a password"
    }
  }); 
  $("#<%=btnLogin.ClientID %>").click(function(){
    return $("#aspnetForm").triggerHandler("submit");
  });
});


* This source code was highlighted with Source Code Highlighter.

jQuery

jQuery - напрочуд простий у розумінні javascript фреймворк, але він містить потужні засоби для побудови сучасних веб сторінок. З'явився в 2006 році і набув нечуваної популярності. Розповсюджується безкоштовно на основі відкритого коду. Містить потужну систему плагінів. На сайті співтовариства яке розробляє цю бібліотеку опублікована величезна кількість плагінів розроблених добровольцями.

Я довго не звертав уваги на цей фреймворк, в основному працював із фреймворком від Майкрософт - ASP.NET AJAX. Але нещодавно Майкрософт заявила, що вони не будуть удосконалювати свою бібліотеку підтримкою шаблонів для біндання даних. Вони порахували що це їм буде важко реалізувати тим більше що дана функціональність вже існує в jQuery.
На основі домовленості із співтовариством розробників, Майкрософт буде використовувати цю бібліотеку у власних продуктах, і вона буде поставлятись із наступними версіями Visual Studio.

Після цього я вирішив спробувати використовувати jQuery як основний фреймворк для розробки клієнтських скриптів.

Мої закладки з тегом jQuery.

Css Styles Links

Пʼятниця, 26 вересня 2008 р.

Most used CSS tricks
20 Websites To Help You Learn and Master CSS
Cheat Sheets for Front-end Web Developers

CSS Tools
CSS Sprite Generator


Layout
Three column fixed layout structure using CSS

Buttons
Beautiful CSS buttons with icon set

Menus
Navigation Menus: Trends and Examples
Digg-like navigation bar using CSS
Elegant navigation bar using CSS
CSS-Based Navigation Menus: Modern Solutions

Panels
Liquid layer with rounded corners using css
Liquid expandable section with rounded corners using CSS

Perfect pagination style using CSS
CSS Message Box collection
Clean and pure CSS FORM design

CSS Files
Optimize your CSS files to improve code readability
Top-Down approach to simplify your CSS code
Write a well structured CSS file without becoming crazy

Fonts
Lovable font-family for your site

sp_getPagedSordedData

Вівторок, 11 березня 2008 р.

Загальна сторка для отримання сортованого і фільтрованого результату з підтримкою пейджінгу:

CREATE PROCEDURE sp_GetPagedSordedData
@TableName nvarchar(200)
,@SortEx nvarchar(500)
,@FieldsList nvarchar(1000) = '*'
,@FilterEx nvarchar(1000) = ''
,@PageNumber int = 1
,@PageSize int = NULL
,@TotalRowsNum int output
AS
BEGIN
DECLARE @sql nvarchar(max)
DECLARE @RowStart int
DECLARE @RowEnd int
SET @TotalRowsNum =0
SET @FilterEx = '1 = 1'+@FilterEx
IF @PageSize IS NULL BEGIN
SET @sql = 'SELECT ' + @FieldsList +
' FROM ' + @TableName +
' WHERE ' + @FilterEx +
' ORDER BY ' + @SortEx
EXEC (@sql)
END
ELSE
BEGIN
SET @sql = 'SELECT @TotalRowsNum = COUNT(*) FROM ' + @TableName +
' WHERE ' + @FilterEx
EXEC sp_executeSQL @sql, @params = N'@TotalRowsNum INT OUTPUT',
@TotalRowsNum = @TotalRowsNum OUTPUT
SET @PageNumber = ABS(@PageNumber)
SET @PageSize = ABS(@PageSize)
IF @PageNumber < 1 SET @PageNumber = 1
IF @PageSize < 1 SET @PageSize = 1
SET @RowStart = ((@PageNumber - 1) * @PageSize)
SET @RowEnd = @RowStart + @PageSize + 1
SET @sql = 'SELECT '
+ @FieldsList + ' FROM (SELECT ROW_NUMBER() OVER(ORDER BY ' +
@SortEx + ') AS row, ' +
@FieldsList + ' FROM ' +
@TableName + ' WHERE ' +
@FilterEx
+ ') AS tbl WHERE row > '
+ CONVERT(varchar(9), @RowStart)
+ ' AND row < ' + CONVERT(varchar(9), @RowEnd)
EXEC (@sql)
END
END



PS. Підсвітку синтаксису робив за допомогою сервісу tohtml

100% Freeware Desktop. Security & System

Субота, 8 березня 2008 р.


Вільне програмне забезпечення в категоріях Безпека та Система, яким я користуюсь:


Антивірус - avast! 4 Home
Запис CD/DVD - InfraRecorder
Архіватор - 7-zip

AJAX links

Вівторок, 4 березня 2008 р.

ASP.NET AJAX
ASP.NET AJAX Docs
JavaScript Base Type Extensions
Extending JavaScript with ASP.NET AJAX
ASP.NET Ajax Under-the-hood Secrets
Boost ASP.NET performance with deferred content loading
Are you making these 3 common ASP.NET AJAX mistakes?
Why ASP.NET AJAX UpdatePanels are dangerous
Loading UserControl Dynamically in UpdatePanel
Debug and explore AJAX with FireBug
Raising and Handling Events with ASP.NET Ajax
ASP.NET Ajax Web Service
Asp.net Ajax Exception Logging
Display data updates in real-time with AJAX
ASP.NET Ajax Extender for multi-column widget drag & drop
ASP.NET AJAX In-Depth: Object Inheritance
Creating JavaScript Properties in ASP.NET AJAX
ASP.NET AJAX In-Depth: Application Events


Useful Methods
Exploring one of MS AJAX’s often overlooked features.
The Ever-Useful $get and $find ASP.NET AJAX Shortcut Functions
4 ASP.NET AJAX JavaScript UI methods you should learn
Easily refresh an UpdatePanel, using JavaScript
Using pageLoad in both Master and Content pages
Work smarter: MS AJAX’s JavaScript type extensions
ASP.NET AJAX: Invoke a static method from script
ASP.NET AJAX: Use PageMethods Proxy to Read and Write Session Data

AJAX Control Toolkit
ASP.NET AJAX Control Toolkit sample websit
Ajax Control Toolkit - Part One
Build DOM with the MS AJAX Toolkit Common Lobrary

Ajax Data Controls
ASP.NET AJAX Control Development
ASP.NET Ajax Grid and Pager
Ajax Data Controls
AjaxDataControls GridView Part One
AjaxDataControls GridView Part Two

Theming
Theming the AjaxControlToolkit's Calendar Control
Creating a Google Suggest Style Filter with the AutoComplete Control
LinkedIn Style Themes for the AjaxControlToolkit Tab Container Control
Creating an Outlook Navigation Bar using the ListView and Accordion Controls
ASP.NET AJAX: Rendering a Gmail-like 'Loading' Indicator over a Specific ASP.NET Control
Creating a YUI TabView Style Theme for the AjaxControlToolkit's TabContainer Control

100% Freeware Desktop. Office & Photo Editing

Понеділок, 18 лютого 2008 р.


Вільне програмне забезпечення в категоріях Офіс та Редагування зображень, яким я користуюсь:

Робота з документами - Open Office
Редагування текстових файлів - Notepad++
Перегляд PDF файлів - Adobe Reader
Перегляд зображень - FastStone Image Viewer
Редагування зображень - Paint.NET
Керування фотографіями(альбом) - Picasa

Частоти телеканалів у Львові

Неділя, 17 лютого 2008 р.

Частоти, насамперед, потрібні для точного налаштування програми, яка працює з тв-тюнером(я користуюсь ChrisTV Lite).

  1. 1+1 - 49,75
  2. Інтер - 175,25
  3. Перший національний - 191,25
  4. 12 канал( ЛОГТРК/Львів-ТБ/Міст-ТБ) - 223,25
  5. Новий канал - 471,25
  6. Канал 24 - 519,25
  7. СТБ - 559,25
  8. ICTV - 599,25
  9. М1 - 615,25
  10. НТН - 655,25
  11. МегаСпорт - 679,25
  12. 5 канал - 695,25
  13. ТЕТ - 711,25
  14. НТА - 759,25
  15. ТРК "Україна" - 815,25