ValidationMessageFor отсутствует в ASP.NET MVC VS 2010 - PullRequest
0 голосов
/ 30 ноября 2009

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

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

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

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Если его не хватает, сделай это сам! :) Я столкнулся с той же самой проблемой, и мое решение было добавить метод расширения, который добился цели. Таким образом, ваш код будет совместим с бета 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));
        }

    }
}
1 голос
/ 01 декабря 2009

Я получил это от Ауриэля , разработчика команды 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.

...