ASP.NET MVC VS 2010中缺少ValidationMessageFor

时间:2009-11-30 02:07:52

标签: asp.net-mvc visual-studio-2010-beta-2

我安装了VS 2010并用它创建了一个新的MVC应用程序。

我查看了期货库以及Code Plex的源代码,我可以看到该函数位于Code Plex源代码中的ValidationExtensions类中。有谁知道如何从代码plex获取源代码以安装VS 2010,或者我只需要等待?

我认为最简单的解决方案是创建自己的ValidationExtensions并将代码放在那里,但我想知道其他什么不同?

2 个答案:

答案 0 :(得分:1)

我是从ASP.NET团队的开发人员Auriel那里得到的。

VS2010 Beta 2附带MVC 2 Preview 2,而不是MVC 2 Beta。 VS2010 Beta 2不支持MVC 2 Beta。不幸的是,术语有点令人困惑。 :(

如果您真的需要让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 :(得分:1)

如果它丢失了,那就自己动手吧! :)我自己遇到了同样的问题,我的解决方案是添加一个扩展方法来完成这个伎俩。这样,您的代码将与beta 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));
        }

    }
}