Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC3..是什么使Html.ValidationMessage…显示一个"*&引用;渲染时_C#_Asp.net Mvc 3_Razor_Data Annotations - Fatal编程技术网

C# MVC3..是什么使Html.ValidationMessage…显示一个"*&引用;渲染时

C# MVC3..是什么使Html.ValidationMessage…显示一个"*&引用;渲染时,c#,asp.net-mvc-3,razor,data-annotations,C#,Asp.net Mvc 3,Razor,Data Annotations,C#,MVC3,剃须刀 当Razor视图渲染时,是否有一种简单的方法显示“* 然后在 是否进行了实际验证 视图当前正在使用 @Html.ValidationMessageFor(model=>model.Email) 更多信息的验证已经存在,但我没有“*”显示这一点 某些字段是必需的 问题: 我是否缺少可以添加到DataAnnotation上的内容,以便它“也”在视图中每个必需的文本框的末尾添加[*] ===============================================

C#,MVC3,剃须刀

当Razor视图渲染时,是否有一种简单的方法显示“* 然后在 是否进行了实际验证

视图当前正在使用
@Html.ValidationMessageFor(model=>model.Email)

更多信息的验证已经存在,但我没有“*”显示这一点 某些字段是必需的

问题:
我是否缺少可以添加到DataAnnotation上的内容,以便它“也”在视图中每个必需的文本框的末尾添加[*]

====================================================
我可以创建一个新的HTMLExtension,如:

    public static partial class ExtensionMethods
    {
        public static MvcHtmlString RequiredSymbolFor<TModel, TProperty>(
            this HtmlHelper<TModel> htmlHelper,
            Expression<Func<TModel, TProperty>> expression,
            string symbol = "*",
            string cssClass = "editor-field-required")
        {
            ModelMetadata modelMetadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);

            if (modelMetadata.IsRequired)
            {
                var builder = new TagBuilder("span");
                builder.AddCssClass(cssClass);
                builder.InnerHtml = symbol;

                return new MvcHtmlString(builder.ToString(TagRenderMode.Normal));
            }

            return new MvcHtmlString("");
        }
    }
从[http://www.kristofclaes.be/blog/2011/08/26/an-htmlhelper-to-display-if-a-field-is-required-or-not-in-aspnet-mvc-3/]

但我只是想知道是否有更简单的方法


高级谢谢。

为什么不在每个文本框后的视图中添加星号呢? 如

@Html.EditorFor(Function(model)model.CommentAuthorName)*

我希望不要以那种方式硬编码..我主要是想看看ValidationMessageFor上是否缺少一个参数。另外,如果您按自己的方式执行,即使在显示验证消息后,*仍会保留。这不是一个好主意,因为您需要手动为每个具有必需属性的字段键入“*”。
@Html.RequiredSymbolFor(model => model.Firstname)