asp.net - 尝试从在 WebForms 应用程序中运行的 MVC 5 中的控制器返回视图时出现 ThreadAbortException
问题描述
我在现有的 WebForms 应用程序中添加了一个控制器和几个视图。据我所知,所有必需的库都已添加为引用,以便使用 MVC。我创建了一个控制器和几个视图,并创建了一个到控制器上的默认操作的路由。到目前为止一切顺利 - 控制器中的操作按预期调用。问题是当我从操作方法返回视图时,我得到一个 ThreadAbortException。如果我返回 null,我会得到一个空白页,没有例外。如果我重定向到 WebForms 应用程序中的另一个页面,它会加载得很好。只有当我返回一个视图时,我才会得到异常。下面是一些简单的示例代码:
public ActionResult Index()
{
// FAILS
return this.View("Empty");
// SUCCEEDS
//return null;
// SUCCEEDS
//var num = db.Banners.Count();
//if (num == 0)
//{
// FAILS
// return this.View("Empty");
//
// SUCCEEDS
// return Redirect("~/Default.aspx");
//}
//else
//{
// FAILS
// return View(db.Banners.ToList());
//}
}
这是空视图:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Empty</title>
</head>
<body>
<div>
</div>
</body>
</html>
任何想法为什么会发生这种情况?
此外,为了按时交付我的任务,我需要找到一种从 WebForms 应用程序运行新页面(视图)的方法。有没有办法从 WebForms 应用程序打开新选项卡或窗口并启动不同的 Web 应用程序(MVC 应用程序或 Razor 页面应用程序)?
解决方案
推荐阅读
- python - 在 sqlalchemy 中动态地将表映射到对象
- python - 打包数据,Python中的极端Bitpacking
- java - wso2 微积分器 <-> activemq 集成
- encryption - 当特定 IP 客户端询问服务器时,我想在我的窗口服务器上打开 3DES 密码
- css - 下一页链接的 CSS 选择器在 Scrapy shell 中返回空列表
- python-3.x - 有没有关于“录制脚本后使用 Postman 删除重复请求”的想法
- c++ - 使用缩进输出修改 Logger
- python-3.x - 运行 chrome 驱动程序时权限被拒绝
- can-bus - Canopen 使用 LSS 自动寻址,如何构建系统
- javascript - 使用 discordjs 启动机器人时如何缓存服务器中的所有成员?