5

モデルの表示名を変更する方法と、EntityFrameworkでエラーメッセージをカスタマイズする方法を知りたいのですが。次のことを試しましたが、うまくいきませんでした。

    [Required(ErrorMessage = "Required .... :")]
    [Display(Name = "Name Agency : ")]
    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.String Nag
    {
        get
        {
            //code
        }
        set
        {
           //code
        }
    }

これは、データベースにデータを追加するフォームの背後にあるコードです。無関係な行は省略しました。

 <% using (Html.BeginForm("addcar", "Agence", FormMethod.Post, new { @class = "search_form" }))
   { %>
    <%: Html.ValidationSummary(true) %>
        <div class="editor-label">
            <%: Html.LabelFor(model => model.Dmcv) %>
        </div>
        <div class="editor-field">
            <%: Html.EditorFor(model => model.Dmcv) %>
            <%: Html.ValidationMessageFor(model => model.Dmcv) %>
        </div>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Puisv) %>
        </div>
        <div class="editor-field">
            <%: Html.EditorFor(model => model.Puisv) %>
            <%: Html.ValidationMessageFor(model => model.Puisv) %>
        </div>

        // Similaire code

        <p>
            <input type="submit" value="Create" />
        </p>
<% } %>
4

2 に答える 2

10

代わりにに変更[Display(Name = "Name Agency")]してください。[DisplayName("Name Agency")]

于 2012-04-11T15:53:09.383 に答える
3

まず、これを参照する必要があります。

using System.ComponentModel.DataAnnotations;

列の表示名を変更する場合は、実際には[Display(Name = "Name Agency")]でOKです。私は自分のプロジェクトでそれを使用しています。

エラーメッセージの場合

[Required(ErrorMessage="Required...")]

エンティティフレームワークデザイナーを使用している場合、デザイナーが変更を何度も上書きするため、これが機能しない可能性があることを読みました。その場合は、次のようなメタデータタイプを使用する必要があります。

[MetadataType(typeof(MetadataMyClass))]
public partial class myclass
{
}

//data annotations here
public class MetadataMyClass
{
  [Required(ErrorMessage = "Required...")]
  [Display(Name="Column Name")]
  public global:: System.String Nag
  {
    // ... etc, etc...
  }
}
于 2013-09-27T18:57:13.307 に答える