C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.95651 の関連記事表示

<< 0 >>
■95651  .NET IdentityでのDisplayNameFor
□投稿者/ さまさま -(2020/08/31(Mon) 15:30:29)

    分類:[.NET 全般] 

    ASP.NET MVCでASP.NET Identityを使用したサイトのユーザー一覧ページを作成しようとしています。

    下記は、「AspNetUsers」テーブルに拡張した「DisplayName」というカラムで、
    ビュー側で「@Html.DisplayNameFor」で一覧の列見出しを表示すると“表示名”となります。

    デフォルトで持っている「UserName」カラムの列見出し文字を指定するにはどのようにすれば良いでしょうか?
    [Display (Name = "表示名")]を記述する場所が見当たらず、そのまま“UserName”という見出しになっている状態です。


    public class ApplicationUser : IdentityUser
    {
    [Column(TypeName = "nvarchar")]
    [StringLength(256)]
    [Display (Name = "表示名")]
    public string DisplayName { get; set; }


    〜 省略 〜
    }


    宜しくお願い致します。
親記事 /過去ログ166より / 関連記事表示
削除チェック/

■95657  Re[1]: .NET IdentityでのDisplayNameFor
□投稿者/ WebSurfer -(2020/09/01(Tue) 07:31:35)
    No95651 (さまさま さん) に返信

    開発環境 (OS, Visual Studio のバージョン、.NET Framework / Core どっちかとそのバージョンなど) を書いてください。

    質問のコードにある DisplayName プロパティの目的は何ですか? それと UserName とどういう関係があるのですか? Migration して DB のテーブルに追加してあるのですか?
記事No.95651 のレス /過去ログ166より / 関連記事表示
削除チェック/

■95662  Re[1]: .NET IdentityでのDisplayNameFor
□投稿者/ WebSurfer -(2020/09/01(Tue) 12:35:11)
    No95651 (さまさま さん) に返信
    
    返事がないので DisplayName が何なのかわかりませんが、UserName プロパティの話とは関係ない
    と勝手に理解して・・・
    
    別に以下のようなビューモデルを定義してそれを使ってはいかがですか。
    
    namespace MySQLIdentity.Models
    {
        // UserController の Index, Details, Delete 用
        public class UserModel
        {
            public string Id { get; set; }
     
            [Display(Name = "ユーザー名")]
            public string UserName { get; set; }
     
            [Display(Name = "メールアドレス")]
            public string Email { get; set; }
     
            [Display(Name = "メール確認済")]
            public bool EmailConfirmed { get; set; }
     
            // ・・・中略・・・
        }
    }
    
    具体例は、Core 3.1 の場合ですが、以下の記事を見てください。
    
    ASP.NET Identity のユーザー管理 (CORE)
    http://surferonwww.info/BlogEngine/post/2020/05/31/user-management-on-aspnet-core-mvc.aspx
    
    詰め替えるという操作が面倒かもしれませんが、
    
    (1) スキャフォールディング機能を使って View を生成できない。
    
    (2) 表示名を自由に付けられない(質問者さんの問題と同じ)。
    
    ・・・という理由でやむを得ないと思いました。
    
    上の記事には "詰め替えの手間を減らすため、先の記事「EDM にデータアノテーション属性を付与」に
    書いたようなメタデータクラスを作って対応することもトライしましたが、無駄な努力でした" と書い
    てありますが、ひょっとしたら Core ではなく .NET Framework では可能かもしれません。試して結果
    を連絡いただけると幸いです。 
    
記事No.95651 のレス /過去ログ166より / 関連記事表示
削除チェック/

■95664  Re[2]: .NET IdentityでのDisplayNameFor
□投稿者/ さまさま -(2020/09/01(Tue) 19:24:59)
    WebSurferさま

    ありがとうございます。
    すみません。確認が遅れてしまいました。

    > 開発環境 (OS, Visual Studio のバージョン、.NET Framework / Core どっちかとそのバージョンなど) を書いてください。
    > 質問のコードにある DisplayName プロパティの目的は何ですか? それと UserName とどういう関係があるのですか? Migration して DB のテーブルに追加してあるのですか?

    環境は、Windows10、Visual Studio 2019、ASP.NET MVC、C#、.NET Framework4.8となります。
    DisplayNameプロパティの目的ですが、
    プロジェクトを新規で作る際にASP.NET Identityの含まれているテンプレートとして選びました。
    自動で生成された「AspNetUsers」テーブルには日本語名のようなフィールドが無かった為、
    https://codezine.jp/article/detail/7845
    にあるようにプロパティとして追加した次第です。

    まさしく、教えて頂いたこちらの内容そのものなのですが、
    > ASP.NET Identity のユーザー管理 (CORE)
    > http://surferonwww.info/BlogEngine/post/2020/05/31/user-management-on-aspnet-core-mvc.aspx

    すでに「AspNetUsers」からスキャフォールディングでコントローラーやビューを生成後だったのと、
    ASP.NET Identityで自動生成されたプロパティ(例えばUserName等)に属性を後付けできないものか、と根拠もなく思ってしまい
    質問させて頂きました。

    教えて頂いた通り、ビューモデルをバインドするか、もしくはビュー上に直書きするか、
    どちらかにしようと思います。


記事No.95651 のレス /過去ログ166より / 関連記事表示
削除チェック/

■95675  Re[3]: .NET IdentityでのDisplayNameFor
□投稿者/ WebSurfer -(2020/09/02(Wed) 09:32:11)
    No95664 (さまさま さん) に返信

    解決済みマークを付けてこのスレッドはクローズしてください。

    まだ解決してなくて、質問などがある場合はそれを書いてください。
記事No.95651 のレス /過去ログ166より / 関連記事表示
削除チェック/

■95688  Re[4]: .NET IdentityでのDisplayNameFor
□投稿者/ さまさま -(2020/09/02(Wed) 15:42:59)
    ビューモデルをバインドすることにします。
    ありがとうございました。

    解決とさせていただきます。
記事No.95651 のレス / END /過去ログ166より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -