2016-12-02 5 views
0

私はこのようになりますのURLビューを持っている共有フォルダ内のDisplayTemplateフォルダ作成している:MVC:DisplayTemplateのカスタムURLにURLと表示リンクの2つの異なるプロパティを使用するにはどうすればよいですか?

public class Employee 
    { 
     [ScaffoldColumn(false)] 
     public int EmployeeId { get; set; } 

     public string WebsiteName { get; set; } //i want this as display text of link   

     [DataType(DataType.Url)] 
     public string website { get; set; } //this should be the url to which user will be redirected to   

    } 

私はそのI承知しています:これは私のクラスのプロパティがどのように見えるかです

<a href="@ViewData.Model" target="_blank"> @ViewData.Model</a> 

を他の方法でそれを行うことができますが、可能であればDisplayTemplateを使用してそれを行いたいと思います。

+1

@model ViewModelのように、モデルをビューに宣言しましたか?あなたがそれをしたら、 @model.websitel Kami

+0

@model MvcDemo.Models.Employee – Arbaaz

+0

@カミのようなあなたのリンクを作成します。私はそれをそうすることができます。私が質問したように、私はDIsplayTemplateを使ってそれをやりたい – Arbaaz

答えて

0

DisplayTemplateに、ファイルの先頭に次のものを置きます。

@model Employee 

これを実行すると、そのプロパティにアクセスできます。 つまり、あなたのEmployee.cshtmlが部分図であるならば、あなたは本当にあなただけで、これらのプロパティにアクセスできるようになりますようにPHONENUMBERなどなど、あなたのプロパティにアクセスすることができません

<a href="@Model.website" target="_blank"> @Model.WebsiteName</a> 
+0

これは私がすでに言ったことだ。 :) – Kami

+0

ああ、コメントを編集しましたか?最初に見たときにコード例はありませんでした。 – JasonlPrice

+0

辞書に渡されるモデル項目は 'System.String'型ですが、この辞書には 'MvcDemo.Models.Employee'型のモデル項目が必要です。 – Arbaaz

0

を行うことができますメインページが表示されますが、部分表示は表示されません。パーシャルビューでは、そのモデルのプロパティにしかアクセスできません。

JasonIPriceの回答は技術的に正しいです。 P.P.私はあなたの答えJasonlPriceにコメントすることはできません。

関連する問題