2016-03-28 8 views
0

Creating MVC View,using Entity Frameworkのビジュアルスタジオスキャフォールディングオプションを使用すると、Visual Studioはビューを作成し、モデルの名前を各ビューの上に置き、フィールドラベルにDisplayNameも使用します。つまり、フィールドの注釈は約Displayです。例えばここに私のモデルクラスは次のとおりです。私が知りたいモデルの表示名を定義

@model Project.Models.MyVeryComplicatedNamedModel 

@{ 
    ViewBag.Title = "Details"; 
} 

<h2>Details</h2> 

<div> 
    <h4>MyVeryComplicatedNamedModel</h4> 

    .... 
    .... 

クラス自体のためのDisplayNameを設定するためのいずれかの方法があり、ビューのようにそのタイトル:

namespace ProjectManager.Models 
{ 
    [Display(Name="A More Readable Name for my class to display it to users!")] 
    public class MyVeryComplicatedlyNamedModel 
    { 

     [Display(Name="نام(Description for name field in Unicode)")]    
     string Name; 
    } 
} 

それのために自動的に生成されたビューは、以下のようなものですh4タグ(<h4>MyVeryComplicatedNamedModel</h4>)として表示され、より読みやすくなり、自分の記述を選択できますか?重要な点は、自動的に作成されたビューを操作したくないということです。私は、Visual Studioでクラス名の説明を選択するのに役立つ注釈を使用したいと考えています。

構文を使用するAttribute 'Display' is not valid on this declaration type. It is only valid on 'method, property, indexer, field, param' declarations.

+0

なぜそれをクラスにしたいですか? – Shyju

+0

ビューの内部に読み込み可能なクラスの名前を自動的に入れます。 – VSB

+0

申し訳ありません私はまだあなたがしようとしていることを理解するのに困っていますか?ビューで何をやりたいのですか? – Shyju

答えて

3

注:この答えは...手動で変更がアスカーが後だったものではないことをアスカーの明確化の前に投稿されました

ビューで、その後
namespace Project.Models 
{ 
    public class Students 
    { 
     public readonly string DisplayName = "University Students"; 
    } 
} 

<div>@Model.DisplayName</div> 

代わりに、属性に固執したいのですが(理由はわかりませんが...)、DisplayNameAttributeという名前の別のものに頼ることができるかもしれませんが、あなたのためにそれを行うHTMLヘルパーを認識していないので、ビューの中で醜い検索。

+0

現在、自動的に生成された各ビューの先頭に「 Students」というタグが追加されています。 UnitBasedContractPaymentRequestのような名前のモデルの場合、このタグは自動的に生成されたビューで '

UnitBasedContractPaymentRequest

'になります。私はVSが自動的に生成されたビュー内に私の希望の名前を使用するように強制する方法を探しています。これのための方法を知っていますか(世代の後にビューを操作する必要はありません)? – VSB

+0

私はちょうど私の質問を更新しました。あなたのコメントによれば、Visual Studioのデフォルトの足場は非常に限られているようです。 – VSB

+1

@VSBカスタムの足場を作成する必要があります。このブログ記事を確認してください:[ASP.NET MVCでカスタム足場テンプレートを作成する方法](https://www.credera.com/blog/technology-insights/microsoft-solutions/ create-custom-scaffold-templates-asp-net-mvc /) – Balde

関連する問題