1

既存のASPXページをcshtml形式に変換しようとしています。

元のASPXは次のようになります。

  <%
    if (!Model.ObjectList.Any())
    {

      %>
      <tr>
          <td>No data found</td>
      </tr>
      <%
     }

同等のRazorバージョンは次のようになります。

@if (!Model.ObjectList.Any())
 {
 <tr>
   <td>No data found</td>
 </tr>
 }

元の構文は問題なく機能しますが、同等の構文は次のメッセージで失敗します

「System.Collections.Generic.List」には「Any」の定義が含まれていません

私は
、a)なぜこれが起こっているのか、
b)この問題をどのように解決するのか疑問に思っていました。CSHTMLファイルにSystem.LINQ名前空間への参照を追加しましたが、役に立ちませんでした。

どんな助けでも大歓迎です、

JP

4

3 に答える 3

3

回答してくれた皆さんに感謝します。これはID10Tであることが判明しました...。

基本的に、私は自分の意見を強くタイプすることを怠りました。使っていた

@inherits System.Web.Mvc.WebViewPage<dynamic>

使用する代わりに

@inherits System.Web.Mvc.WebViewPage<MyViewModel>

正しいタイプを使用すると、問題が修正されました。ありがとう、JP

于 2010-07-31T18:48:25.053 に答える
0

正しい名前空間をインポートする必要があります。

using System.Linq;
于 2010-07-31T09:04:19.920 に答える
0

あなたもこれを行うことができます:

@if (Model.ObjectList.Count == 0)
 {
 <tr>
   <td>No data found</td>
 </tr>
 }
于 2012-11-21T12:26:29.620 に答える