If it's stupid but works, it isn't stupid.
Использование XMLDataSourse
Создадим новый элемент в папке App_Data
App_Data -- Add -- New Item -- (вкладка Data) -- XML File


Создаем страничку
Добавляем на неё
Toolbox -- Data -- XmlDataSource
Конфигурация Configure Data Source
Выбираем файл данных Data File
Нужно указать, какие данные мы хотим взять из XML-файла
XPathExpression


Добавляем элемент Toolbox -- Data -- Repeater (многократный повторяющийся вывод)
Выбираем источник данных.

В Repeater добавляем ItemTemplate, в нем делаем вывод


Можно оформить вывод в виде таблицы


HeaderTemplate отвечает за однократный вывод элемента сверху
FooterTemplate отвечает за однократный вывод элемента снизу

Через XML получить RSS
В Configure Data Source
выбрать файл данных rss
И прописать, какие данные мы хотим взять из rss-файла в XPathExpression


Курсы по asp.net от intuit.ru часть №5

@темы: С#, Курсы по asp.net от intuit.ru, ASP.NET

If it's stupid but works, it isn't stupid.
Использование LinqDataSourse
LINQ - запросы, встроенные в язык (начиная с версии 3.5)

Add -- Add New Item -- LINQ to SQL Classes
Перетаскиваем нужную таблицу из Server Explorer

Создаем новую страницу
Add -- New Item -- (вкладка Web) -- Web Form (.aspx)

Toolbox -- вкладка Data -- LinqDataSource
Открыть в дизайнере -- Configure Data Sourse
Выбираем Context Object
Во вкладке Configure Data Selection выбираем базу данных, во вкладке Advanced можем включить добавление, удаление и вставку.

Далее добавляем GridView, связываем его с источником.

Добавим кнопку, добавим обработчик щелчка


либо так




Курсы по asp.net от intuit.ru часть №5

@темы: С#, Курсы по asp.net от intuit.ru, ASP.NET, Ссылки

If it's stupid but works, it isn't stupid.
If it's stupid but works, it isn't stupid.
Create a Joomla Website! - Easy! - 2012 http://www.youtube.com/watch?v=Xa566_uarSA

@темы: Joomla, Ссылки

If it's stupid but works, it isn't stupid.
Создание БД в SQL Server
SQL Management Studio
Databases -- New Database -- Ввести имя

В VS
View -- Server Explorer -- Data Connection -- нажимаем ПКМ -- Add Connection -- Microsoft SQL Server -- Выбираем имя сервера; Выбираем БД -- OK
Раскрываем добавленную БД -- Tables -- Add new table
Добавляем в таблицу колонки.
Щелкнуть по таблице ПКМ -- Show Table Data -- Добавляем данные в таблицу

Декларативная работа с данными
На странице
Toolbox -- вкладка Data -- SqlDataSource
Получаем контрол

Открываем контрол в дизайнере -- Configure Data Sourse -- Выбираем БД, с которой открыто соединение
Также генерируется строка соединения Connection String, которую можно сохранить в файл конфигурации
Также выбираем, с какими данными мы работаем
Далее можно сделать Test Query (SELECT * FROM [Persons]) (Проверяем, возвращаются ли наши данные)

Теперь наш контрол может получать данные из базы SelectCommand="SELECT * FROM [Persons]


Чтобы отобразить данные из базы
выбираем Toolbox -- Data -- GridView
Открываем GridView в дизайнере -- Choose Data Sourse -- SqlDataSource1


Более продвинутая выборка из БД
Наш контрол

Открываем в дизайнере -- Configure Data Sourse -- (БД уже выбрана, коннекшин стринг создана) -- Configure the Select Statement -- Advanced -- Generate INSERT IGNORE, UPDATE and DELETE statements

Теперь наш DataSourse автоматически генерирует для наших данных запросы на добавление, изменение и удаление.

Открываем GridView в дизайнере, и можем поставить галочки Enable Sorting, Enable Editing, Enable Deleting
Также можно воспользоваться вкладкой Auto Format -- выбрать один из заданных стилей оформления.

В SQL Management Studio -- открываем БД -- открываем таблицу -- ПКМ -- Design -- Задать Primary Key для какой-либо колонки (если этого не было сделано ранее)


Открываем GridView в дизайнере -- Edit Columns -- Можно удалить колонки из редактирования
Можно поставить галочки
Enable Paging -- разбиение на страницы
Enable Selection -- ссылка на выделение

Выбрать строку в таблице (по ссылке Select) и открыть в новой форме для редактирования
Добавляем еще один источник данных SqlDataSource
Конфигурируем
Открываем в дизайнере -- Configure Data Sourse -- Выбираем БД, с которой открыто соединение
+ та же Connection String
+ Configure the Select Statement -- Advanced -- Generate INSERT IGNORE, UPDATE and DELETE statements
+ Where -- Колонка Column, источник Sourse -- Control, какой контрол ControlID -- GridView1.

Вставляем элемент управления DetailsView
Выбираем источник данных Choose Data Sourse -- SqlDataSource2
Ставим галочки Enable Inserting, Enable Editing, Enable Deleting

Чтобы второй источник данных обновлялся -- Свойства (F4) -- События -- ItemInserted Событие, которое возникает после того, как в БД вставили новый элемент -- Создаем обработчик для этого события


GridView1.DataBind(); - обновить данные в GridView1, вновь созданный элемент добавляется в таблицу

Добавим событие для ItemUpdated (обновление элемента)


Можно добавить свою колонку в GridView


Также вывод данных в колонку можно сделать по-другому через TemplateField


Добавляем обертку ItemTemplate

Свойство HeaderText отвечает за то, что будет выводится в заголовке таблицы

AlternatingItemTemplate отвечает за вывод через строку


При использовании TemplateField терем возможность сортировки по умолчанию, т.о. надо заново описывать сортировку.

Для этого в TemplateField нужно прописать SortExpression


Курсы по asp.net от intuit.ru часть №5

@темы: С#, Курсы по asp.net от intuit.ru, ASP.NET, Ссылки

If it's stupid but works, it isn't stupid.
Создание собственных ЭУ
2 метода

  • Web Controls
    (Создаются .ascx - файлы, аналогично созданию страницы)

  • Custom Controls
    (Не имеют файла разметки, полностью описываются кодом)



1 способ
Создание Web Controls

Создаем
Add -- New Item -- Web Form (.aspx - файл)
Add -- New Item -- Web User Control (.ascx - файл)

Создадим контролер выпадающий список для выбора года
Year.ascx


Зададим логику
Year.ascx.cs


Далее на странице нужно зарегистрировать контрол


и добавить его на страницу


вся страница


2 способ
Создание Custom Controls

Add -- New Item -- вкладка Code -- Code File (.cs)

Создаем класс C#, наследующий от базового класса Control
//Создание таблицы с задаваемым количеством строк и столбцов


Далее на странице нужно зарегистрировать контрол
//Указать имя сборки, пространство имен и tagPrefix


и указать его


Страница целиком


Добавить атрибуты в созданный HTML-тегам можно через

или

Добавляет атрибут стиля разметки в открывающий тег элемента, создаваемого объектом HtmlTextWriter с последующим вызовом метода RenderBeginTag.

Контрол целиком


Создаем кнопку
1 способ


2 способ


Добавляем в контрол делегат и обработку события щелчка по кнопке


и добавляем в контрол наследование от интерфейса IPostBackEventHandler
Чтобы создать серверный элемент управления, собирающий сведения об отправке формы из браузера, следует реализовать этот интерфейс.
http://msdn.microsoft.com/ru-ru/library/system.web.ui.ipostbackeventhandler.aspx

В конечном итоге,
контрол


Страница


Логика страницы (добавлен обработчик OnClick)


Курсы по asp.net от intuit.ru часть №4

@темы: Курсы по asp.net от intuit.ru, ASP.NET, Ссылки

If it's stupid but works, it isn't stupid.
19:00 

Доступ к записи ограничен

If it's stupid but works, it isn't stupid.
Закрытая запись, не предназначенная для публичного просмотра

If it's stupid but works, it isn't stupid.
Принципы, паттерны и методики гибкой разработки на языке C#
http://rutracker.org/forum/viewtopic.php?t=4295746

@темы: С#, Учебники, Ссылки

If it's stupid but works, it isn't stupid.
Философия 5S состоит из следующих концепций:

  • Сэйри, или организация. Абсолютно необходимо знать, где что находится —
    и в этом помогают такие методы, как грамотный выбор имен. Думаете, выбор
    имен идентификаторов неважен? Почитайте следующие главы.

  • Сэйтон, или аккуратность. Старая американская поговорка гласит: всему
    свое место, и все оказывается на своих местах. Фрагмент кода должен
    находиться там, где читатель кода ожидает его найти, — а если он находится
    где-то в другом месте, переработайте свой код и разместите его там, где ему
    положено быть.

  • Сэйсо, или чистка. Рабочее место должно быть свободно от висящих проводов,
    грязи, мусора и хлама. Что в этой книге говорят авторы о загромождении кода
    комментариями и закомментированными строками кода? Они советуют от
    них избавиться.

  • Сэйкэцу, или стандартизация: группа достигает согласия по поводу того, как
    поддерживать чистоту на рабочем месте. Что в этой книге сказано о наличии
    единого стиля кодирования и набора правил в группах? Откуда берутся эти
    стандарты? Прочитайте — узнаете.

  • Сюцукэ, или дисциплина. Программист должен быть достаточно
    дисциплинированным, чтобы следовать правилам, он должен часто размышлять о своей
    работе и быть готовым к изменениям.



Имена
Имена классов
Имена классов и объектов должны представлять собой существительные и их комбинации:
Customer, WikiPage, Account и AddressParser.
Имена методов
Имена методов представляют собой глаголы или глагольные словосочетания:
postPayment, deletePage, save и т. д. Методы чтения/записи и предикаты
образуются из значения и префикса get, set и i s согласно стандарту javabean.

Функции
Функции д.б. короткими.
Желательно, чтобы длина функции не превышала 20 строк.

Функция должна выполнять только одну операцию. она
должна выполнять ее хорошо, и ничего другого она
делать не должна.

стр.64

@темы: Р. Мартин - Чистый код. Создание, анализ и рефакторинг

If it's stupid but works, it isn't stupid.
If it's stupid but works, it isn't stupid.
If it's stupid but works, it isn't stupid.
If it's stupid but works, it isn't stupid.
If it's stupid but works, it isn't stupid.
If it's stupid but works, it isn't stupid.
A dynamic layout plugin for jQuery
The flip-side of CSS floats

http://masonry.desandro.com/index.html

@темы: Plugins, Плагины, jQuery Masonry, jQuery, Ссылки

If it's stupid but works, it isn't stupid.
10:23

If it's stupid but works, it isn't stupid.


If it's stupid but works, it isn't stupid.
The Expert's Voice in .NET - Язык программирования C# 5.0 и платформа .NET 4.5 (6-е издание)(2013,DjVu)
http://rutracker.org/forum/viewtopic.php?t=4419196

@темы: С#, Учебники, Ссылки

If it's stupid but works, it isn't stupid.