2017-07-04 9 views
1

@Modelはタスクをどのように使用するのですか?@Modelがタスクの場合@Modelにアクセスする

レイザー:

@model Task<AreBuraas.Core.v1.Models.Category> 

<article class="panel panel-primary"> 
    <section class="panel-heading"> 
     <h1> 
      @Model.Name 
     </h1> 
     <h3> 
      @Model.Description 
     </h3> 
    </section> 
    <section class="panel-body"> 
     her kommer content! 
    </section> 
</article> 

コントローラー:

public IActionResult Display(int id) 
{ 
    return View(_data.GetCategory(id)); 
} 

エラー:

'Task' does not contain a definition for 'Name' and no extension method 'Name' accepting a first argument of type 'Task' could be found (are you missing a using directive or an assembly reference?)

  @Model.Name 

'Task' does not contain a definition for 'Description' and no extension method 'Description' accepting a first argument of type 'Task' could be found (are you missing a using directive or an assembly reference?)

   @Model.Description 

答えて

5

あなたはそれを行うことはできません。

代わりにコントローラのタスクawaitを実行し、その結果をビューに渡す必要があります。

+0

OKはい、ありがとう! – TheRuler

1

これは実際にコントローラで焦点を当てるべき事柄です。かみそり構文の@modelはタスクにすることはできません。代わりに、これはコントローラのためのものであり、慣例により実際の結果をビューに渡すべきです。

0

Landed on this solution:

public IActionResult Display(int id) 
{ 
    var data = _data.GetCategory(id); 
    var result = data.Result; 

    return View(result); 
} 
関連する問題