2009-11-30 7 views
0

Я установил VS 2010 и создал с ним новое приложение MVC.ValidationMessageFor отсутствует в ASP.NET MVC VS 2010

Я просмотрел библиотеку фьючерсов, а также исходный код из кода Plex, и я вижу, что эта функция находится в классе ValidationExtensions в исходном коде из Code Plex. Кто-нибудь знает, как получить исходный код из кода plex для установки с VS 2010 или мне просто нужно подождать?

Я полагаю, что самым простым решением было бы просто создать мои собственные ValidationExtensions и поместить туда код, но мне интересно, что другое?

ответ

1

Я получил это от Auriel, разработчика в команде ASP.NET.

VS2010 Beta 2 поставляется с MVC 2 Preview 2, а не MVC 2 Beta. MVC 2 Beta не поддерживается на VS2010 Beta 2. Да, терминология немного запутанна, к сожалению. :(

Если вам действительно нужно, чтобы MVC 2 Beta работал на VS2010 Beta 2, см. http://haacked.com/archive/2009/11/17/asp.net-mvc-2-beta-released.aspx#74907. Обратите внимание, что это полностью неподдерживается и может привести вашу систему в нестабильное состояние. Когда VS2010 будет выпущен, он будет включать окончательная версия версии MVC 2.

1

Если этого не хватает, сделайте это сами! :) Я столкнулся с той же проблемой, и моим решением было добавить метод расширения, который делает трюк. Таким образом, ваш код будет совместим с бета-версиями 2 и более поздними версиями:

namespace System.Web.Mvc.Html 
{ 
    public static class Extensions 
    { 

     //TODO: Remove when ASP.NET MVC Gets updated, this method exists in beta2 and later releases 

     public static MvcHtmlString ValidationMessageFor<TModel, TProperty>(
       this HtmlHelper<TModel> htmlHelper, 
       Expression<Func<TModel, TProperty>> expression) 
     { 
      return htmlHelper.ValidationMessage(ExpressionHelper.GetExpressionText(expression)); 
     } 

    } 
} 
+0

Вы, сэр, бог :) –