Комментарии 71
За статью спасибо, но писать надо не Микрософт, а Майкрософт, тем более, если Вы собирались публиковать это в печатном издании.
+1
Осилил, интересно.
С точки зрения логичности изложения, переход от раздела Версии MVC Framework сразу к практическим советам выглядит слишком резким. В этом месте скорее ожидаешь прочитать про то, как строится URL, про Action, про Route — иными словами, про то, из чего все-таки состоит MVC в исполнении Майкрософт и как с ним оперировать. А вы сразу — Как задать на странице html-элемент select. :)
С точки зрения логичности изложения, переход от раздела Версии MVC Framework сразу к практическим советам выглядит слишком резким. В этом месте скорее ожидаешь прочитать про то, как строится URL, про Action, про Route — иными словами, про то, из чего все-таки состоит MVC в исполнении Майкрософт и как с ним оперировать. А вы сразу — Как задать на странице html-элемент select. :)
+1
Новичку наоборот важно как можно скорее начать практиковаться.
0
может быть, вы правы
статья — это больше сборник советов, чем описание работы MVC
*может быть неудачно назвал
статья — это больше сборник советов, чем описание работы MVC
*может быть неудачно назвал
0
А если не секрет, то в какой журнал ваша статья попадёт?
0
Отлично. Благодарен!
0
Спасибо, узнал много нового о MS :) Ничего особо оригинального, чего нет в тех же PHP фреймворках, не увидел, но судя по всему любители «моногенных» решений должны быть в восторге.
-3
конечно, ничего особо нового не может быть, все же фреймворк свежий и еще даже не вышел в финальной версии
0
Нет, серьезно радует, что если вдруг понадобится портировать или писать с нуля для .net, то не нужно будет изменять образ мышления. Грубо говоря надо просто преодолеть различия синтаксиса языков (а может уже и язык привычный портирован) и тонкостей реализации, но нежно менять архитектуры приложения
0
НЛО прилетело и опубликовало эту надпись здесь
у вас есть что-то инсайдерское о второй версии? поделитесь :)
* или хотя бы есть информация о дате выхода новой версии «первого» MVC?
* или хотя бы есть информация о дате выхода новой версии «первого» MVC?
+1
Я наоборот рад, что нет ничего оригинального, что структура приложения практически не изменяется, при необходимости несложно будет портировать с .net скажем на symfony или наоборот
0
XaocCPS, спасибо за статью :)
Еще подскажите, пожалуйста, как можно реализовать следующие вещи:
1) общие объекты для всех страниц, которые в классическом ASP.NET вставлялись в Мастерпейдж и инициализировались(заполнялись данными т.п.) в MasterPage.Page_Load? Не будешь же вставлять код инициализации во все контроллеры…
2) Как можно передать юзерконтролу типизированные параметры? Опять-таки, из классики: есть юзер-контрол, который в зависимости от параметров решает, как и что ему выводить (событие Page_Load юзер-контрола), юзер-контрол вставляется в asp:Repeater, и выглядит типа
Заранее спасибо за ответ.
Собственно, это две вещи, которые пока не позволяют делать новые проекты на MVC, а хотелось бы, при его прочих достоинствах.
Еще подскажите, пожалуйста, как можно реализовать следующие вещи:
1) общие объекты для всех страниц, которые в классическом ASP.NET вставлялись в Мастерпейдж и инициализировались(заполнялись данными т.п.) в MasterPage.Page_Load? Не будешь же вставлять код инициализации во все контроллеры…
2) Как можно передать юзерконтролу типизированные параметры? Опять-таки, из классики: есть юзер-контрол, который в зависимости от параметров решает, как и что ему выводить (событие Page_Load юзер-контрола), юзер-контрол вставляется в asp:Repeater, и выглядит типа
Заранее спасибо за ответ.
Собственно, это две вещи, которые пока не позволяют делать новые проекты на MVC, а хотелось бы, при его прочих достоинствах.
+1
1. в mvc тоже есть мастерпейдж
2. public partial class IntroBox: ViewUserControl — определяет контрол с типом модели MyModel
<%= Html.RenderPartial(«IntroBox», ViewData.Model.DataForControl); %> — рисуем контрол передвая ему данные, которые содержаться в модели страницы
2. public partial class IntroBox: ViewUserControl — определяет контрол с типом модели MyModel
<%= Html.RenderPartial(«IntroBox», ViewData.Model.DataForControl); %> — рисуем контрол передвая ему данные, которые содержаться в модели страницы
0
я на нем курсовую писал. Мне бы эту статью пару месяцев назад, не пришлось бы столько вникать в блоги Гюттри и иже с ним.
ASP.NET VMC — отличная вещь если вы — программист C# или фанат майкрософта. Во всем остальном пока выигрывают аналогичные фреймворки на руби и пхп. Надеюсь майкрософт сделает из него конфетку.
ASP.NET VMC — отличная вещь если вы — программист C# или фанат майкрософта. Во всем остальном пока выигрывают аналогичные фреймворки на руби и пхп. Надеюсь майкрософт сделает из него конфетку.
0
*MVC
0
А какое мнение у вас от: JSF, web-потока Shale, Facelets, Tiles? Каркас интеграции JSF и EJB3 (Hibernate) не заинтересовал?
0
простите за вопрос не по теме.
А что случилось с c't? Я его уже 6й месяц у себя в городе не могу найти, а ведь журнал очень хороший.
П.С. А статья понравилась, спасибо
А что случилось с c't? Я его уже 6й месяц у себя в городе не могу найти, а ведь журнал очень хороший.
П.С. А статья понравилась, спасибо
0
Недавно пробовал запустить все это на линуксе под mono 2.2. Полдня портаченого времени и я таки запустил его на xsp2. Правда не работал роутинг… хотя можно было подсунуть свой метод — я спасовал =) В roadmap на mono сказано, что поддержка asp.net mvc будет в 2.6(july 2009). Ну да ладно, пока оно еще бета — можно подождать
0
на моно что-то пишите?
0
Начал где-то год назад, и так несколько мелких проектов.
0
с удовольствием бы почитал что-нибудь про моно на Хабре
опыт, трудности, отличия, сильные и слабые стороны… все интересно
опыт, трудности, отличия, сильные и слабые стороны… все интересно
0
К сожалению, катастрофически нехватает времени. Да и не такой уж большой опыт у меня с mono. Но скажу, прогресс разработки mono — огромный. ...MonoDevelop, GTK, ASP.NET, Gendarme, Monoxide и все это опенсоурс
Слабые стороны — пока небольшое комюнити
Сильные стороны — opensource; 3rdparty; когда сидиш, смотриш на работающий проект linux + csharp и думаеш — причем здесь майкрософт?
Слабые стороны — пока небольшое комюнити
Сильные стороны — opensource; 3rdparty; когда сидиш, смотриш на работающий проект linux + csharp и думаеш — причем здесь майкрософт?
0
считаю, Мироксофту надо поддерживтаь Mono-комьюнити тем или иным способом
нанять чтоли человека, который бы освещал все что связано с mono
лично я просто не натыкаюсь на информацию, а специально искать нет времени, да и особого желания, поскольку применять пока негде
почитать бы чужой опыт было бы очень интересно
нанять чтоли человека, который бы освещал все что связано с mono
лично я просто не натыкаюсь на информацию, а специально искать нет времени, да и особого желания, поскольку применять пока негде
почитать бы чужой опыт было бы очень интересно
0
Сейчас mono — узкий профиль. Но я буду чрезмерно рад, когда со временем Novell будет иметь в своем арсенале чистый, отлаженый и вылизаный mono. И считаю, что это неизбежно. Спасибо тебе, Мигель
0
>лично я просто не натыкаюсь на информацию, а специально искать нет времени
есть форумы nabble, есть lor, кстати сегодня там и про moonlight
есть форумы nabble, есть lor, кстати сегодня там и про moonlight
0
НЛО прилетело и опубликовало эту надпись здесь
Конечно. Итак нужно mono, xsp2 и сам asp.net mvc. Желательно самых новых версий.
Я перенес шаблонный mvc проект, который сгенерировал visualstudio. далее скопировал mvc библиотеки System.Web.Abstractions.dll, System.Web.Mvc.dll и System.Web.Routing.dll(они где-то в program files) в директорию Lib в корне проекта.
Web.config и csproj негодные, их придется править вручную. Из csproj я вырезал ненужные референсы(оставил необходимые, дамп — dumpz.org/4930/), visual studio targets и все project settings. Обязательно вырезать версию и токен из референса System.Web.Mvc.dll. В Web.config оставил только customErrors для отладки и pages для корректной работы хелперов.
Из-за того что библиотеки mvc не добавляются в GAC пришлось скопировать их в директорию bin в корне проекта. И заключающий этап это xbuild (входит в моно). Он сделает длл нашего проекта в bin. Запускаем xsp2…
Я перенес шаблонный mvc проект, который сгенерировал visualstudio. далее скопировал mvc библиотеки System.Web.Abstractions.dll, System.Web.Mvc.dll и System.Web.Routing.dll(они где-то в program files) в директорию Lib в корне проекта.
Web.config и csproj негодные, их придется править вручную. Из csproj я вырезал ненужные референсы(оставил необходимые, дамп — dumpz.org/4930/), visual studio targets и все project settings. Обязательно вырезать версию и токен из референса System.Web.Mvc.dll. В Web.config оставил только customErrors для отладки и pages для корректной работы хелперов.
Из-за того что библиотеки mvc не добавляются в GAC пришлось скопировать их в директорию bin в корне проекта. И заключающий этап это xbuild (входит в моно). Он сделает длл нашего проекта в bin. Запускаем xsp2…
0
Подводные камни? Да там каменная дорога под водой =)
0
Кстати, кто знает, кроме шаблонизации, существуют ли способы безболезненной замены представления? Например, был вывод в виде HTML, а стал в виде JSON, и основные алгоритмы вывода дублировать чтобы не пришлось.
0
было
public JsonResult Test()
{
string[] test = {«Первый»,«Второй»,«Третий»};
return Json(test);
}
public JsonResult Test()
{
string[] test = {«Первый»,«Второй»,«Третий»};
return Json(test);
}
0
извините
было
public ActionResult Test()
{
string[] test = {«Первый»,«Второй»,«Третий»};
ViewData = test;
return View();
}
стало то что выше
было
public ActionResult Test()
{
string[] test = {«Первый»,«Второй»,«Третий»};
ViewData = test;
return View();
}
стало то что выше
0
Это только для простейших случаев, а если представление оперирует большим количеством данных с помощью разных итераторов, нужно постоянно копировать обход этих данных, но уже для другого представления, а этого хочется избежать.
0
ActionResult может возвращать как html представление(View), так и Json. Задача сводится к тому, что бы сериализовать данные к нужному формату(xml или json), а return отдать то что нужно в итоге.
public ActionResult Test(string flag)
{
//формирование данных
string[] test = {«Первый»,«Второй»,«Третий»};
if(flag == «html)
{
ViewData[»data"] = test;
return View();
}
else
{
//если много сложных данных, сериализуем.
return Json(test);
}
}
public ActionResult Test(string flag)
{
//формирование данных
string[] test = {«Первый»,«Второй»,«Третий»};
if(flag == «html)
{
ViewData[»data"] = test;
return View();
}
else
{
//если много сложных данных, сериализуем.
return Json(test);
}
}
0
Спасибо, отличная статья, уже создал solution :)
0
А по MVC фреймворку еще никаких книг нет?
0
Может кто сталкивался с реализацией деревьев (типа TreeView) в ASP.NET MVC?
Заранее спасибо!
Заранее спасибо!
0
Спасибо за статью.
postback
posback
postback
0
а в 6 IIS работает описанный вами в последней части метод редиректа на страницу с ошибками?
url mapping настроен, clean urls тоже настроены (aspnet_isapi.dll).
Продолжает выбрасывать Эксепшены, и обычная страница с ошибкой на 404.
url mapping настроен, clean urls тоже настроены (aspnet_isapi.dll).
Продолжает выбрасывать Эксепшены, и обычная страница с ошибкой на 404.
0
вы проверяете локально? по идее все должно работать, но честно говоря на iis 6 не тестировал
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
MVC Framework: большое введение для начинающих