【问题标题】:Action returns PartialView rather than ViewAction 返回 PartialView 而不是 View
【发布时间】:2013-10-27 00:39:48
【问题描述】:

为简洁起见,我简化了以下内容。

当我单击操作链接时,该操作成功运行,但仅返回其自己页面上的部分视图,而不是在视图中呈现它。有什么建议我哪里出错了吗?

PartialView ActionLink

@Html.ActionLink("Click", "_Partial1")

控制器

public ActionResult Index()
{
    return View()
}

public ActionResult _Partial1()
{
    ...do stuff
    return PartialView();
}

【问题讨论】:

标签: asp.net-mvc partial-views


【解决方案1】:

您可以使用“点击”,如下所示。确保你引用了 jQuery

 <script type="text/javascript" src="/Scripts/jquery-1.8.2.min.js"></script>

如下修改您的操作链接。

  @Html.ActionLink("Click",                         // linkText
                   "_Partial1",                     // actionName
                   null,                            // controllerName
                   new { @class = "detailsLink" }   // htmlAttributes
                   )

提供一个您要在其中呈现内容的元素。

调用下面的JS,这样内容就会被加载到视图或者类似的地方。

   $(function() {
      $('.detailsLink').click(function() {
        $('#details').load(this.href);
        return false;
      });
  });

这应该会调用您的部分操作并在同一页面上呈现内容。

【讨论】:

  • 感谢 Raj,这看起来像是朝着正确方向迈出的一步,但仍然返回相同的结果。我还需要做些什么吗?
  • 这段代码对我有用。可能是其他一些代码/脚本干扰。您将哪个视图称为局部视图?您还运行任何其他可能干扰的脚本吗?找出,删除代码中的所有其他内容并尝试应用我的解决方案的最佳方法。如果它有效,则添加位,直到您可以重新创建问题。如果这仍然不起作用,请使用标准的 vanilla asp.net mvc 应用程序并让它与我的解决方案一起使用。根据我的解决方案有效,您在问题中发布的内容。还要确保你有 jquery 参考。确保返回部分视图。
猜你喜欢
  • 2015-03-11
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
  • 2013-08-06
  • 1970-01-01
相关资源
最近更新 更多