Рад что MVC развиваеться такими темпами. Единственное, что неудобно в плане изучений и работы над текущим проектом — нельзя что бы было уставнолено параллельно несколько версий.
Смотря какие цели вы приследуете. У меня например фронт-енд работает и разрабатывается под MVC 1, а установлена MVC 2. Тоесть если интеграция в студию не очень важна, то все работает как часы. Ведь собсно MVC это просто набор либ. Референсиш, правиш конфиг и вуаля.
Разметка с Razor выглядит просто потрясно. Еще и выделение строк с кодом. Всегда одной из самых неприятных частей фреймворка была разметка представления в купе с ужасным форматированием кода в студии.
А есть ли там теги вроде @= или @:?
экранирование идет по умолчанию то есть @: не нужен
значение передается просто @Some.SomeMethod()
есть синтаксис выражений типа @(Some.SomeMethod() + «SomeText»)
Я имел ввиду как реализован тег <%: %>
В статье написано, что он автоматически декодирует вывод для предотвращения xss атак, но я не очень понял, что надо сделать, что бы он этого не делал, если есть такая потребность.
для получения значения откуда либо + он это значение декодирует
для действий, например for или foreach
можно написать так, но передаваемые значения надо декодировать всегда.
Написать как? Я прекрасно знаю, когда и что нужно декодировать. Я не понимаю как в разоре ему это указать, что бы вот тут он кодировал, а тут нет. Раньше были специальные теги. Сейчас же он там сам что-то решает.
Spark — очень круто. Интересна его дальнейшая судьба, будет ли развиваться и насколько активно. С одной стороны, Lou (Louis DeJardin), создатель движка Spark, теперь работает на MS в команде ASP.NET (и возможно, в том числе, как-то влияет на разработку MVC, Razor, итд), и это вроде как гуд, но с другой — в каком приоритете теперь сам Spark?
Производительность у него, насколько я понял, чуток пониже, чем у WebFormsViewEngine, ну и может какие-то дополнительные прелести для него придумают. Забавно, кстати, зачем бы MS вообще создавать новый движок (Razor), а не взять Spark в качестве основного варианта в AspNetMvc.
Скотт Гатри писал по этому поводу. У Razor есть преимущество в расширяемости и некоторых других местах. Кроме того, MVC поддерживал и будет поддерживать Spark и NHaml, в MVC 3 даже ввели поддержку сторонних движков на уровне встраивания в Visual Studio 2010, так что используйте.
ASP.NET MVC 3: подробный обзор нововведений