不允许子操作执行重定向操作。 (使用部分视图)

2024-03-14

我正在尝试使用数据库中的一些数据加载部分视图,但在运行应用程序时遇到以下问题:

不允许子操作执行重定向操作。

我不知道为什么会发生这种情况,因为我对 MVC 技术还很陌生。

这是我的PartialViewResult控制器中的方法:

public PartialViewResult UnReadEmails()
{
   if (User.Id != null)
   {
      List<Emails> resultList = EmailController.GetUnreadEmailsByUserId(User.Id);
       return PartialView("~/Views/Emails/_UnReadEmails.cshtml", resultList);
   }
   return PartialView("Error, not found!");
}

这是我的partialview本身,它被称为_UnReadEmails(正如你所看到的,我在这里显示有关发件人和电子邮件正文的信息),PartialView正在检索我从控制器发送到的电子邮件列表

@model IEnumerable<Emails>

foreach (var item in Model)
{
    <li>
        <a>
            <span>
               <span>@item.EmailSender</span>
               <span class="email">
                     @item.Body;
               </span>
        </a>
    </li>
}

在我尝试以这种方式加载我的部分视图之后:

@Html.Action("UnreadEmails", "Message")

我开始收到我在标题中提到的以下问题,

我已经尝试了一些方法来解决这个问题,比如改变@Html.Action("UnreadEmails", "Message") to @Url.Action("UnreadEmails", "Message")等等,但这并没有解决我的问题。

编辑:它总是在这一行中断(在视图中):

@Html.Action("UnreadEmails", "Message")

It never goes into code behind.. enter image description here

在克里斯的建议之后我添加了[AllowAnonymous]在该方法的顶部:

[AllowAnonymous]
public PartialViewResult UnReadEmails()
{
   if (User.Id != null)
   {
      List<Emails> resultList = EmailController.GetUnreadEmailsByUserId(User.Id);
       return PartialView("~/Views/Emails/_UnReadEmails.cshtml", resultList);
   }
   return PartialView("Error, not found!");
}

编辑编辑编辑:

有趣的事实是,无论我在控制器的方法中编写什么,即使我注释了所有代码,它仍然会在视图上中断,这意味着它永远不会进入控制器的方法。我在 UnReadEmails 方法的开头放置了断点,但它从未被击中,它总是在视图上中断!


这个错误非常明显。子操作不能发出重定向。这是因为,当孩子行动时look与常规操作一样,它们实际上是在单独的进程中呈现的,并且无法修改实际响应(重定向需要这样做)。

在实际的子操作代码中,您不会返回重定向,因此这意味着您必须将操作过滤器应用于发出重定向的子操作。特别是,您应该避免使用诸如Authorize or RequireHttps在子操作上,因为它们通过使用重定向来工作,而子操作又无法做到这一点。如果子操作位于用以下修饰的控制器中Authorize,它应该标记为AllowAnonymous.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不允许子操作执行重定向操作。 (使用部分视图) 的相关文章

  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • std::bind 重载解析

    下面的代码工作正常 include
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它

随机推荐

  • 如何仅使用 Jackson 将 XML 转换为 JSON?

    我从服务器收到 XML 格式的响应 但我需要以 JSON 格式显示它 有没有办法不用第三方API就可以转换呢 我使用了 Jackson 但为此我需要创建 POJO 服务器的响应是这样的
  • 如何获取数组的所有子集?

    给定一个数组 dog cat mouse 最优雅的创建方式是什么 mouse cat cat mouse dog dog mouse dog cat dog cat mouse 我需要它适用于任何大小的数组 这本质上是一个二进制计数器 其中
  • 谷歌索引页面加载后通过ajax或javascript检索的文本

    几个谷歌问题 1 谷歌是否有机会 看到 使用ajax检索的文本 用户从一系列选择框中进行选择 然后显示数据库中的一些文本 2 如果我使用javascript更改页面标题 在HEAD区域之外 谷歌会索引修改后的标题吗 抱歉 如果这些是琐事问题
  • 如何快速隐藏/显示按钮

    我正在尝试使用 if 语句来使按钮在标签显示某种状态时隐藏 并在标签显示其他内容时出现 标签的名称是 Status 当它显示时 Closed 我希望它隐藏 当它显示时 Open 就会出现 var query3 PFQuery classNa
  • 在自定义 JSF 组件收到 AJAX 更新后调用自定义 JavaScript 代码

    我已经实现了自己的 JSF 组件及其渲染器 并且运行良好 目前 在更改组件树中的某些内容后 我开始重新加载 JavaScript 页面 现在我想在 AJAX 调用传递新数据后更新我的组件 这就像我在单击按钮后向表中插入新行 这会启动 AJA
  • PHP 通过类传递对象?

    重建整个类布局后 我在使用多个类实例时仍然遇到问题 class User public variable public function getUser this gt variable It works return bob class
  • Twilio 通话应用账单扣除

    我们正在制作三种方式调用 Android 应用程序 两个参与者是应用程序用户 第三个参与者是使用 TWILIO 的任何电话号码 我们已经实现了通话功能 我们的通话正在接通 但问题是 我们需要在服务器端知道谁是发起呼叫的用户 以便我们可以从该
  • 如何在本地服务器上安装CloudFoundry

    我知道 CF 是为在多个云服务上运行而设计的 以实现微服务应用程序的统一视图 但是 我想在我的 CentOS 本地服务器上安装并运行 Cloud Foundry 换句话说 我想在一台运行 CF 的服务器上设置我的私有 云 作为基于微服务的应
  • 如何在 tkinter 中滚动到 TreeView 的底部

    我在 Tkinter 中使用树视图模仿了一个表格小部件 并添加一个链接到它的滚动条 问题是因为我的数据是按分钟自动添加到底部的 并且我希望滚动始终滚动到底部 我知道 text see END 在文本小部件中完美工作 但就我而言 树视图小部件
  • Java NoSuchAlgorithmException - SunJSSE、sun.security.ssl.SSLContextImpl$DefaultSSLContext

    背景 我一直在它自己的 Eclipse 项目中使用 Authorize net SDK 一切都运转良好 然后我需要将其添加到我的主项目中 我将依赖项添加到类路径中 并将其复制到我需要的代码块中 它应该有效 Problem 长话短说 代码在我
  • 表单验证失败后重新填充 Codeigniter 中的复选框

    在表单验证不成功将用户返回到同一表单后 我在重新填充一组复选框时遇到问题 下拉菜单和文本输入可以重新填充 但复选框不能 这是复选框的代码片段 td Casual br Romantic br td
  • 如何获取 Xamarin.Forms 中嵌入文件的 URL/路径

    我无法访问 Xamarin Forms 项目中嵌入的 mp4 文件 根据Xamarin Forms 中的文件处理 https learn microsoft com en us xamarin xamarin forms app funda
  • SassError:找不到要导入的样式表。 @use '~@angular/material' 作为垫子;

    我使用 CLI 创建了一个 Angular 项目 我正在使用 SCSS 并且我将 Angular Material 包含在自定义主题 iirc 中 我添加了几个虚拟组件 应用程序仍然构建得很好 然后我需要使用 Angular Materia
  • Swift 3 类型“Any”没有下标成员

    我刚刚将我的项目转换为 Swift 3 我这里有这行代码 let type self data indexPath row Type as String 但现在我得到这个错误 Type Any has no subscript member
  • 不允许使用非成员函数重载 C++ 转换运算符的理由是什么

    C 0x 添加了显式转换运算符 但它们必须始终定义为 Source 类的成员 这同样适用于赋值运算符 它必须在 Target 类上定义 当所需转换的 Source 和 Target 类彼此独立时 Source 都不能定义转换运算符 Targ
  • 如何通过IP地址列出网络计算机上所有已安装的软件?

    我想知道如何获取网络计算机上安装的软件列表 我能够获取本地计算机上安装的软件列表 但不确定如何提取网络内计算机上已安装软件的详细信息 我使用服务器名称或网络计算机的 IP 地址作为唯一的输入 下面是从本地计算机获取已安装软件的详细信息的代码
  • 在 Swift 中比较 UIColors 时出现问题

    我需要比较两个 UIColor 但由于某种原因它总是返回 false 我尝试比较使用 and isEqual 但它们似乎都不起作用 This is a sample of the colors I have created let blue
  • Google 地图 + jQuery:渲染错误

    将 google 地图放入 jquery ui 选项卡中时 地图在某些情况下无法正确显示 重现 Go here http www fiveminuteargument com html map test html 单击 列表 链接 调整浏览
  • 使用 save() 玩框架 JPA 问题

    我试图在数据库中保存一个简单的对象 但这给我带来了问题 这是我的对象类 Entity Table name lines public class Line extends GenericModel Id Column name line i
  • 不允许子操作执行重定向操作。 (使用部分视图)

    我正在尝试使用数据库中的一些数据加载部分视图 但在运行应用程序时遇到以下问题 不允许子操作执行重定向操作 我不知道为什么会发生这种情况 因为我对 MVC 技术还很陌生 这是我的PartialViewResult控制器中的方法 public