вторник, 25 сентября 2012 г.

Превращаем Less в Css. Используем Приложение SimpleLess

Для использования своих less файлов и создания единого файла css может понадобиться компилятор less.
Например, программа SimpleLess (сайт SimpLess).


Программа позволяет выбрать файлы для компиляции простым перетаскиванием папки или самих файлов less в окно программы SimpleLess.
Затем можно быстро получить результат компиляции нажатием одной кнопки  на нужном файле.

Все. Теперь можно использовать файл css на своем сайте. Просто Лесс.

понедельник, 24 сентября 2012 г.

Вечер 2. Используем SqlDataSource и GridView

Будем использовать для создания заполненных квартир SqlDataSource и GridView.


<asp:SqlDataSource runat="server" ID="SqlDataSource"
 connectionstring="<%$ ConnectionStrings:ApartmentsConnString%>"
 DataSourceMode="DataSet"
 ProviderName="System.Data.SqlClient"
 SelectCommand="SELECT * FROM [Apartments]"
 DeleteCommand="DELETE FROM [Apartments] WHERE id=@id">
</asp:SqlDataSource>

Здесь задаются:

  • команды для выборки данных (SelectCommand
  • удаления (DeleteCommand) их из таблицы
  • Строка соединения из web.config ( connectionstring )
  • DataSourceMode - режим для работы с данными



<asp:GridView AllowPaging="True" PageSize="20" EmptyDataText="Нет квартир" runat="server"
    AllowSorting="True"
    DataKeyNames="id"
    ShowHeader="True"
    DataSourceID="SqlDataSource"
    CssClass="table table-bordered table-condensed table-hover"
    AutoGenerateColumns="False">
    <HeaderStyle CssClass="alert"></HeaderStyle>
    <Columns>
      <asp:CommandField ShowDeleteButton="True" />
      <asp:BoundField HeaderText="П/п" DataField="id" SortExpression="id" />
      <asp:BoundField HeaderText="Стоимость" DataField="price"  SortExpression="price" />
      <asp:BoundField HeaderText="Этаж" DataField="floor"  SortExpression="floor" />
      <asp:BoundField HeaderText="Всего этажей" DataField="maxfloor"  SortExpression="maxfloor" />
      <asp:BoundField HeaderText="Балкон" DataField="balcony" SortExpression="balcony"  />
      <asp:BoundField HeaderText="Состояние" DataField="condition"  SortExpression="condition" />
      <asp:BoundField HeaderText="Дата" DataField="adsdate" SortExpression="adsdate"  />
      <asp:BoundField HeaderText="Комнаты" DataField="rooms" SortExpression="rooms"  />
      <asp:BoundField HeaderText="Кухня" DataField="kitchen" SortExpression="kitchen"  />
      <asp:BoundField HeaderText="Ремонт" DataField="repair" SortExpression="repair"  />
      <asp:BoundField HeaderText="Дополнительно" DataField="bonusinfo" SortExpression="bonusinfo"  />
    </Columns>
  </asp:GridView>

Здесь:

  • разрешаем сортировку (AllowSorting)
  • задаем для каждого поля выражение для сортировки (SortExpression)
  • облагораживаем таблицу стилями bootstrap через CssClass


Осталось только задать ссылку для перехода на форму добавления новой квартиры:


<p>
    <a href="Default.aspx">Добавить квартиру</a>
</p>

Получится примерно следующее:



Более подробную информацию можно посмотреть на сайте msdn:
SqlDataSource
GridView

Также исходные файлы с проектом можно скачать по ссылке Сайт. Вечер 2

четверг, 20 сентября 2012 г.

Вечер 1.

А вообще, попробую написать про создание приложения для хранения данных о покупке/продаже квартир. Сайтов на эту тему много, но таких, чтобы были удобно сделаны - не видел.

Во-первых создадим обычный Web-сайт на ASP.Net. Добавим в проект Twitter Bootstrap как я писал ниже Подключение Bootstrap.

Затем создадим БД MSSQL и добавим в нее таблицу для хранения данных по квартирам.

Для начала нам понадобится форма работы с данными, содержащимися в ранее созданной таблице. Форма будет отображать данные и позволять фильтровать и редактировать данные.

вторник, 18 сентября 2012 г.

Быстрое подключение Twitter Bootstrap

Twitter Bootstrap - довольно широко используемый и удобный CSS-фреймворк (ссылка на сайт). Поэтому напишу как быстро его подключить к своему проекту.

1. Скачиваем архив по адресу bootstrap.zip


2. Распаковываем в директорию проекта - получится папка bootstrap с подпапками css, jpg, script

3. Добавляем в мастер-страницу или просто на страницу, где нужно использовать Bootstrap следующие строки:


 <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" />
  <script src="js/bootstrap.min.js"></script>


Либо для отладки можно использовать версии файлов без min:


  <link href="bootstrap/css/bootstrap.css" rel="stylesheet" />
  <script src="js/bootstrap.js"></script>


4. Все готово! Можно пользоваться.


Небольшой пример кода с классами bootstrap:



...
  <p>
    <h2 runat="server">
      <asp:Label Text="РСохранение данных по квартире:" runat="server" /></h2>
  </p>
  <div>
    <div class="row-fluid">
      <asp:Label ID="Label1" Text="Стоимость:" runat="server" AssociatedControlID="tbPrice"/>
      <asp:TextBox ID="tbPrice" runat="server"></asp:TextBox>
    </div>
    <div class="row-fluid">
      <asp:Label Text="Данные по квартире: " runat="server" AssociatedControlID="tbDescr" />
      <asp:TextBox TextMode="MultiLine" Rows="3" ID="tbDescr" runat="server"></asp:TextBox>
    </div>
  </div>
  <hr />
  <asp:Button runat="server" Text="Сохранить квартиру" CssClass="btn btn-success" />
...


Выведет два поля с зеленой кнопкой:


Удачи в изучении!

Видео по использованию Resharper

Узнал много полезной информации по использованию Resharper на сайте jetbrains:
http://www.jetbrains.com/resharper/demos/index.html


Особенно понравились:



Работа с БД (на примере ORM Norm). Здесь рассказывается про быстрый доступ к файлам и классам.
Ссылка: Developing the Data Access Layer with ReSharper

Работа с Unit-тестами. Здорово, когда разработка начинается прямо с тестов! Все нужные классы и методы можно создавать напрямую из кода тестовых методов. 
Ссылка: Efficient Navigation when doing TDD/BDD with ReSharper

Применение Dependency Injection (на примере MVC-проекта). Программируй исходя из интерфейсов а не конкретной реализации - Resharper поможет это сделать в пару нажатий клавиш. Удобно показаны сочетания клавиш.
Ссылка: Refactoring to use Dependency Injection with ReSharper