使用MVC3破坏RenderPartial

时间:2012-07-09 13:04:40

标签: c# asp.net asp.net-mvc asp.net-mvc-3

我来到一个星期前我写的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)

这是什么原因?我最近没有改变项目中的任何东西,因为它是bork。我称之为的代码如下:

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

1 个答案:

答案 0 :(得分:1)

你在Html.Raw前面缺少@符号,因为teh方法将字符串重新加回,因此需要@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>