1

WebFormsに1つのシステムがあり、データベースからテキストフィールドを読み込んで、IDで簡単にそれぞれの正しい場所を選択しましたが、cshtmlでこれを行う最善の方法を考えて、[DisplayName( "foo bar")をチェックします。 ]モデルではありますが、Webの他の一般的なボタンを完成させる必要があるため、それがうまく機能することを確認するために必要な多くのコードについて恥ずかしい思いをしています。何かアイデアや最善の方法はありますか?ありがとう。 各ユーザーは、ボタン、ラベルなどの名前をいつでも変更できるようにする必要があります。データベースを使用する準備ができました

Webフィールド

<div class="editor-label">
        @Html.LabelFor(model => model.DataInicioAcesso)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.DataInicioAcesso)
        @Html.ValidationMessageFor(model => model.DataInicioAcesso)
    </div>

<li>@Html.ActionLink("Acesso_Usuario                                ",   "Index",  "Acesso_Usuario")</li>

<input type="submit" value="Create" />

その他...SessionPermissionLoginをすべて構成しました。ですから、それぞれに異なるテキストを読んでもらいたいのです。

4

1 に答える 1

1

簡単でクリーンな方法は、ラベルを動的に表示するカスタム[DisplayName]メタデータを作成することです。このようなものとこれ

public class DynamicDisplayNameAttribute : DisplayNameAttribute 
    {
        public DynamicDisplayNameAttribute(string key)
        {
            _key = key;
         }

        public override string DisplayName
        {
            get
    {
         //
         //repo database logic to get display name
         //
          string displayName = repo.GetDisplayName(key);

          return string.IsNullOrEmpty(displayName)
             ?"" 
             : displayName;
      }
  }

  private string _key { get; set; }

}

次のようなプロパティに属性を追加します

      [DynamicDisplayNameAttribute("Key")]
      public string DataInicioAcesso { get; set; }
于 2012-11-05T17:11:05.823 に答える