2011-09-14 13 views
2

TelerikのExtensions for ASP.NET MVCのGridコントロールを使用して、Master/Detailグリッドを設定しようとしています。私の問題は、サーバーテンプレートの設定です。Telerik Grid ServerTemplateの問題

私が従うデモはthis pageの最初のものですが、私はRazor View Engineを使用しています。

グリッドが表示されています。問題は、コンパイラエラーをスローしないサーバテンプレートを書くことができないことです。

@(Html.Telerik().Grid(Model) 
      .Name("Grid") 
      .Columns(columns => 
      { 
       columns.Bound(o => o.Date).Format("{0:MM/dd/yyyy}").Width(100); 
       columns.Bound(o => o.Title).Template(@<text> <a href="/Media/@item.Slug">@item.Title</a></text>).Sortable(false); 
       columns.Bound(o => o.Publication).Width(120).Sortable(false); 
      }) 
      .DetailView(detailView => detailView.Template(e => 
      { 
       //Anything other than this comment will throw a compiler error 
      })) 
      .RowAction(row => 
      { 
       // Expand initially the detail view of the first row 
       if (row.Index == 0) 
       { 
        row.DetailRow.Expanded = true; 
       } 
      }) 
      .Sortable() 
      .Scrollable(scrolling => scrolling.Height(494)).Footer(false) 
      .ClientEvents(events => events.OnRowDataBound("onRowDataBound")) 
     ) 

「このコメント以外の何か...」を参照してください。 @<text> hello</text>のように置き換えると、コンパイルエラーが発生します。

CS1002:;予想通り

それは意味をなさないと思われますが、自分自身をユーモアにして、セミコロンをこのように入れます@<text> hello</text>;。それは私に、このエラーを与える:

CS0201:のみ割り当て、呼び出し、インクリメント、デクリメント、およびテンプレートの部分で、私が本当にしたいことを、私はつまり、交換すると、新しいオブジェクト式がステートメント

として使用することができます@<text><b>Slug</b>: @item.Slug</text>、私は同じエラーを取得します。 CS1002はセミコロンなし、CS0201はセミコロン付きです。

私はここで何が欠けていますか?

答えて

1

これには2通りの方法があります。あなたは私が=全体の電子を取り除い見ることができるように

.DetailView(detailView => detailView.Template(@<text>test</text>)) 

:あなたはいくつかの単純なテキストを表示するために、実際に他のコンポーネントを統合していない、それはあなたがちょうどこれを行うには上記の持っているコードを変更するのが最も簡単でしょうしたい場合> {...}の部分を入れてちょうど@<text></text>に入れてください。

しかし、あなたが詳細ビューでより多くのコンポーネントを取得したいのであれば、demo found hereを見るほうが良いでしょう。説明には、心配する必要のないWebFormsコードがいくつか記載されていますが、残りはすべてRazorにあります。また、注意しておく必要があることについても説明しています。最も重要なものの1つは、DetailTemplate内のコンポーネントは、(...)とは対照的に{...}使用する必要があるということです。これは、特に.Render()を呼び出すためです。 ((...)を使用して、これらのシナリオでは間違った点で.Renderを暗黙的に呼び出します)、これらのコンポーネントの宣言の最後に、それらがすべて正しくレンダリングされていることを確認します。

+0

ありがとう、それは私が必要なものです!私の構文が間違っていた。 +1 – splatto

関連する問題