2009-07-14 8 views
2

EvalをASP.NET Repeater内のHtml.RenderPartialに渡そうとしていますが、それでも問題はありません。ASP.NET Repeaterコントロール内でContainer.Evalを(Html.ReaderPartial)に渡す

<asp:Repeater runat="server"> 
      <ItemTemplate> 
       <% Html.RenderPartial("UserControl1",Eval("Title")); %> 
      </ItemTemplate> 
</asp:Repeater> 

ところで私は他の方法でそれをやることができると知っていますが、それが可能かどうかを知りたいのです。

+0

...それが必要以上に人生はどんな困難にしないでください。あなたは、あなたがしたくない場所で終わるつもりです。 RenderPartialを<%# %>の文の中に入れてみてください。 –

答えて

5
それはので、これはあなたがHtml.RenderPartialを呼び出すメソッドを呼び出す必要があり、コンパイルを取得するために、文字列を返す式を期待していることと同じです

: - Webフォームのデータを結合およびMVC部分レンダリングが、最高の状態で予測不可能であり、混合私はちょうどかかわらず、foreachのを使用することになり
 
<% 
protected string RenderControl(object dataItem) 
{ 
    Html.RenderPartial("UserControl1", ((MyType) dataItem).Title); 
    return ""; 
} 
%> 

... <%# RenderControl(Container.DataItem) %> ...

:()、空の文字列を返します。

私はあなたがMVCでのWinFormsをcompbineすることができます知っている...しかし、男...私はそれをお勧めしません

+0

1を作業する前に)私はそれをテスト を期待しました。 –

+0

すべてが簡単ですが、<% Html.RenderPartial("UserControl1", o.Title);%>は他のHTMLエクステンションとは違います –

0

は次のように<%# %>文の中、あなたれるrenderPartialを入れてみてください:

<asp:Repeater runat="server"> 
    <ItemTemplate> 
     <%# Html.RenderPartial("UserControl1",Eval("Title")); %> 
    </ItemTemplate> 
</asp:Repeater> 
+0

ご協力いただきありがとうございますが、私はこのコンパイル例外が発生しました: CS1026:それは文句を言わない、再び おかげで...「それは必要以上にあらゆる困難の生活をしない」ための –

関連する問題