ИСТОЧНИК: "Professional ASP.NET MVC 1.0 By Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie"
Одной из определяющих характеристик шаблона MVC является строгое "разделение понятий". Модели (Models), Контроллеры (Controllers) и Представления (Views) имеют
четко определеные роли и обязанности, и они общаются между собой по четко определенным правилам. Это улучшает тестируемость и повторное использование кода.
Когда клас контроллера решает вернуть НТML ответ обратно клиенту, он отвечает за точную передачу в шаблон представления всех данных необходимых для отображения этого ответа.
Шаблон представления (View template) никогда не должен выполнять каких либо действий связанных с извлечением данных или с бизнес логикой. Вместо этого Шаблон представления должен использоваться ТОЛЬКО для отображения данных полученных от Контроллера.
вторник, 30 ноября 2010 г.
пятница, 26 ноября 2010 г.
HTML helper methods - like Html.TextBox() - check the ModelState collection when rendering output. If
an error for the item exists, they render the user-entered value and a CSS error class.
an error for the item exists, they render the user-entered value and a CSS error class.
вторник, 16 ноября 2010 г.
Автоматическое обновление Web-приложенния установленного на TabletPC (другой компьютер) через интернет.
Исходные данные.
Система, представляющая собой некое онлайн приложение. Система позволяет работать пользователю онлайн. Также присутствует некое приложение которое устанавливается на переносные ПК ( Tablet PC). Это приложение позволяет пользователю получать определенные данные от основной онлайн ситемы, обрабатывать их оффлайн (добавлять , модифицировать и тд. ) и возвращать эти данные в основную систему. Проще говоря - проводить онлайн сихронизацию.
Задача.
Так как основная система (как и ее база) подверженны изменениям, то при наступлении этих самых изменений необходимо автоматически обновлять приложения установленные на переносных ПК, для достижения целостности данных и прочая и прочая.
Продолжение следует...
Система, представляющая собой некое онлайн приложение. Система позволяет работать пользователю онлайн. Также присутствует некое приложение которое устанавливается на переносные ПК ( Tablet PC). Это приложение позволяет пользователю получать определенные данные от основной онлайн ситемы, обрабатывать их оффлайн (добавлять , модифицировать и тд. ) и возвращать эти данные в основную систему. Проще говоря - проводить онлайн сихронизацию.
Задача.
Так как основная система (как и ее база) подверженны изменениям, то при наступлении этих самых изменений необходимо автоматически обновлять приложения установленные на переносных ПК, для достижения целостности данных и прочая и прочая.
Продолжение следует...
понедельник, 8 ноября 2010 г.
Как определить версию запущенного ( исполняемого ) приложения ( модуля )
'Получаем версию текущей исполняемой сборки
Dim sVer As String = System.Reflection.Assembly.GetExecutingAssembly.GetName().Version.ToString()
Dim realVersion As Version
Try
realVersion = New Version(sVer)
Catch ex As Exception
'если формат стоки для версии неправильный,будем считать что это нулевая версия realVersion = New Version(0, 0, 0)
End Try
'главное значение версии (первая цифра)
Dim MajorVersion As String = realVersion.Major.ToString
'второстепенное значение версии (вторая цифра)
Dim MinorVersion As String = realVersion.Minor.ToString
Dim sVer As String = System.Reflection.Assembly.GetExecutingAssembly.GetName().Version.ToString()
Dim realVersion As Version
Try
realVersion = New Version(sVer)
Catch ex As Exception
'если формат стоки для версии неправильный,будем считать что это нулевая версия realVersion = New Version(0, 0, 0)
End Try
'главное значение версии (первая цифра)
Dim MajorVersion As String = realVersion.Major.ToString
'второстепенное значение версии (вторая цифра)
Dim MinorVersion As String = realVersion.Minor.ToString
четверг, 4 ноября 2010 г.
Рекомендации по именованию отдельных шаблонов представления
ИСТОЧНИК: "Professional ASP.NET MVC 1.0 By Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie"
Когда дело доходит до именования отдельных шаблонов представления рекомендуется давать шаблону тоже имя, что и метод действия, который был вызван для визуализации. Например, метод "Index" использует представление "Index" для отображения результата, и "Details" использует представление "Details". Это позволяет разработчику легко определить, какой шаблон представления связан с методом действия.
Разработчикам нет необходимости точно указывать имя представления когда имя представдения совпадает с именем метода действия. Вместо этого мы можем использовать вспомогательный метод View() и передать в него в качестве параметра данные которые нам надо отобразить(без явного указания имени шаблона предсаления). И ASP.NET MVC автоматически определит что мы хотим использовать представление
\Views\[ControllerName]\[ActionName] для отображения результатов.
Было:
public ActionResult Index() {
var dinners = dinnerRepository.FindUpcomingDinners().ToList();
return View("Index", dinners);
}
Стало:
public ActionResult Index() {
var dinners = dinnerRepository.FindUpcomingDinners().ToList();
return View(dinners);
}
Когда дело доходит до именования отдельных шаблонов представления рекомендуется давать шаблону тоже имя, что и метод действия, который был вызван для визуализации. Например, метод "Index" использует представление "Index" для отображения результата, и "Details" использует представление "Details". Это позволяет разработчику легко определить, какой шаблон представления связан с методом действия.
Разработчикам нет необходимости точно указывать имя представления когда имя представдения совпадает с именем метода действия. Вместо этого мы можем использовать вспомогательный метод View() и передать в него в качестве параметра данные которые нам надо отобразить(без явного указания имени шаблона предсаления). И ASP.NET MVC автоматически определит что мы хотим использовать представление
\Views\[ControllerName]\[ActionName] для отображения результатов.
Было:
public ActionResult Index() {
var dinners = dinnerRepository.FindUpcomingDinners().ToList();
return View("Index", dinners);
}
Стало:
public ActionResult Index() {
var dinners = dinnerRepository.FindUpcomingDinners().ToList();
return View(dinners);
}
вторник, 2 ноября 2010 г.
Понимание маршрутизации для ASP.NET MVC
ИСТОЧНИК: "Professional ASP.NET MVC 1.0 By Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie"
По умолчанию, новые проекты ASP.NET MVC содержат в себе предустановленные настройки для URL роутинга. Этопозволяет легко начать работу с приложением без необходимости что либо настраивать. Настройки правил для “URL маршрутизации по умолчанию” можно найти в файле Global.asax вашего ASP.NET MVC приложения в классе “ Application ”. По умолчанию, правила маршрутизации для ASP.NET MVC регистрируются в методе “RegisterRoutes” этого класса.
“routes.MapRoute()” – регистрирует правило маршрутизации по умолчанию, которое выстраивает соответствие входящего URL и классов котроллера, используя следующий формат URL : "/{controller}/{action}/{id}” – где “controller” это имя класса контроллера , экземпляр которого будет использоваться, “action” – это имя паблик метода который будет вызван, “id” – необязательный параметр, который может быть использован для переlачи парметра в метод из URL. Третий параметр который подается в “MapRoute()” – это усановка набора значений по умолчанию который используется для значения controller/action/id в случае если они не присутствуют в URL (Controller = “Home”,Action=”Index”, Id=””). Тоесть если мы ничего не введем в URL – эти значения будут подставленны автоматически.
Ниже приводится таблица, которая демонстрирует, как выстраиваются соответсвия между различными URL и классами контроллера с их методаими, согдасно правилу маршрутизации “/{controllers}/{action}/{id}”.

Понимание маршрутизации для ASP.NET MVC
ASP.NET MVC содержит мощный механизм роутинга URL, позволяющий очень гибко контролировать то, как URL работает с классами контроллеров. Это позволяет нам полностью настроить то , как ASP.NET MVC выбирает класс контроллера ,какой метод вызывает, а также настроить различные способы с помощью которых переменные будут автоматически извлекаться из URL и передаваться в методы в качестве параметров. Этот механизм дает нам ту гибкость, которая позволит полностью оптимизировать сайт для Поисковой Отимизации , а также показывать любу стуктуру URL какую мы хотим для приложения.По умолчанию, новые проекты ASP.NET MVC содержат в себе предустановленные настройки для URL роутинга. Этопозволяет легко начать работу с приложением без необходимости что либо настраивать. Настройки правил для “URL маршрутизации по умолчанию” можно найти в файле Global.asax вашего ASP.NET MVC приложения в классе “ Application ”. По умолчанию, правила маршрутизации для ASP.NET MVC регистрируются в методе “RegisterRoutes” этого класса.
Ниже приводится таблица, которая демонстрирует, как выстраиваются соответсвия между различными URL и классами контроллера с их методаими, согдасно правилу маршрутизации “/{controllers}/{action}/{id}”.

Последние три строки показывают значения по умолчанию
(Controller = Home, Action = Index, Id = ""). Так как метод “Index” зарегистрирован как имя действия по умолчанию, если таковое не указано, “/Dinners” и “/Home” в URL будут вызывать метод Index() для соответствующих котроллеров. Так как контроллер “Home” зарегистрирован как контроллер по умолчанию , “/” в URL будет создавать экземпляр класса HomeController и вызывать его метод Index(). Если вам не нравятся правила маршрутизации по умолчанию – вы легко можете настроить их по своему усмотрению .
Подписаться на:
Сообщения (Atom)