0

我来到了我一周前写的一个 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 标记。

请这样使用

<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 回答