6

私の見解でこれを行うとエラーが発生する理由を理解しようとしています

@Html.RenderPartial("MyPartial", Model);

コンパイル エラーの説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。

コンパイラ エラー メッセージ: CS1502: 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' に一致する最適なオーバーロードされたメソッドには無効な引数が含まれています

しかし、これを行うと、部分的にレンダリングされます

@{
   Html.RenderPartial("MyPartial", Model);
}

最初の例が失敗する理由を誰か知っていますか?

4

1 に答える 1

7

それは基本的にこのフォーマットが...

@Html.RenderPartial("MyPartial", Model)

...は返さない関数に使用されますvoid。RenderPartialは返すのでvoid、そのエラーが発生します。

代わりに、このブロックでは、コードの実行(内部的に書き込み呼び出しを行う)です。

    @{    
Html.RenderPartial("MyPartial", Model); 
}

別の方法で呼び出すことができます

@Html.Partial("MyPartial") 

...これは文字列を返します。

于 2012-07-03T16:37:10.517 に答える