【问题标题】:Returning Partial View ASP.NET MVC返回局部视图 ASP.NET MVC
【发布时间】:2016-08-22 02:17:49
【问题描述】:

您好,我有一个用于处理错误消息的部分视图设置,但是当它返回时,它会返回一个完整的网页,其中只有文本未找到结果。

我希望部分视图在我的主要索引页面上返回内联?在我的索引页面中,我有代码 @Html.Partial("_ErrorMessage")。

以下是我在 HomeController 中的处理方式

            else
            {
                ViewBag.Error = "No results found!";
                return PartialView("ErrorMessage");
            }
        }             

【问题讨论】:

  • 在@Html.Partial("_ErrorMessage") 中包含_ 而return PartialView("ErrorMessage"); 没有..
  • 需要更多信息,至少需要完整的操作方法或您如何调用此方法。我假设您正在提交表单,并且在其他情况下您正在返回您的部分视图 - 如果是这种情况,您现在看到的结果就是预期的行为。尝试通过 ajax 调用此操作并将此操作返回的 html 附加到您的 html 容器

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


【解决方案1】:

部分视图不需要返回 html 内联。如果您通过客户端脚本调用,使用 jquery、angular 等,部分视图可以返回内联 html。

这是你做的。返回的是一整页。

【讨论】:

    【解决方案2】:

    上下文在这里很重要。如果您在 HTML 中包含部分视图,您可能不需要在 C-sharp 中返回部分视图,除非您使用花哨的异步调用来加载它。

    如果只显示包含它的视图,则内嵌局部视图应该正常显示

    【讨论】:

      【解决方案3】:

      我不确定您所面临的确切错误,但您可以尝试以下解决方案,您必须将Layout 设置为null,因为您不会在部分视图中面对整个页面。

      @{
          Layout = null;
      }
      

      如果您不使用Layout=null,它将调用您的_Layout 页面。

      希望对你有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-27
        • 1970-01-01
        • 1970-01-01
        • 2011-10-15
        • 1970-01-01
        相关资源
        最近更新 更多