0

ちょうど1週間前に書いたMVC3プロジェクトに来ましたが、動作を停止し、次のエラーがスローされます。

Error 10 The call is ambiguous between the following methods or properties: 'System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(System.Web.Mvc.HtmlHelper, string)' and 'System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(System.Web.Mvc.HtmlHelper, string)'

これの理由は何ですか?最近、プロジェクトで何も変更していません。私がそれを呼び出すコードは次のようになります:

<div class="page-body">
    @if(!String.IsNullOrWhiteSpace(ViewBag.ErrorMessage)) {
        // Output error message
        Html.Raw(ViewBag.ErrorMessage);
    } else {
        // Render upload form
        Html.RenderPartial("_UploadForm");
    }
</div>
4

1 に答える 1

1

Html.Rawの前に@記号がありません。これは、メソッドが文字列を元に戻すため、@symbolが必要になるためです。

MSDNからの知識のために: Razor構文@演算子は、HTTP応答にレンダリングする前にテキストをHTMLエンコードします。これにより、テキストはHTMLマークアップとして解釈されるのではなく、Webページに通常のテキストとして表示されます。

このように使用してください

<div class="page-body">
    @if(!String.IsNullOrWhiteSpace(ViewBag.ErrorMessage)) {
        @Html.Raw(ViewBag.ErrorMessage);
    } else {
        // Render upload form
        Html.RenderPartial("_UploadForm");
    }
</div>
于 2012-07-09T13:15:02.803 に答える