是否可以访问位于另一个项目中的 MVC 视图?

2023-11-21

我想将我的 MVC 项目分成几个项目

首先,我创建了两个项目Front and Views

The Front项目是一个包含控制器和模型的 Web 应用程序

The Views项目是一个类库项目,仅包含视图

我的问题是如何让控制器调用位于Views project

我有这样的控制器:

public ActionResult Default()
        {
            return this.View();
        }

为了包含控制器,您需要更改路由注册以告诉他们在哪里寻找控制器:

routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}",
                namespaces: new[] {"[Namespace of the Project that contains your controllers]"},
                defaults: new {controller = "Home", action = "Index", id = UrlParameter.Optional});

要包含视图,请创建自定义ViewEngine:

public class CustomViewEngine: RazorViewEngine
{
    public CustomViewEngine()
    {
        MasterLocationFormats = new string[]
        {
            "~/bin/Views/{1}/{0}.cshtml",
            "~/bin/Views/{1}/{0}.vbhtml",
            "~/bin/Views/Shared/{0}.cshtml",
            "~/bin/Views/Shared/{0}.vbhtml"

        };
        ViewLocationFormats = new string[]
        {
             "~/bin/Areas/{2}/Views/{1}/{0}.cshtml",
             "~/bin/Areas/{2}/Views/{1}/{0}.vbhtml",
             "~/bin/Areas/{2}/Views/Shared/{0}.cshtml",
             "~/bin/Areas/{2}/Views/Shared/{0}.vbhtml"
        };
        .
        .
        .
    }
}
protected void Application_Start()
{
    ViewEngines.Engines.Add(new CustomViewEngine());

有关更多信息,请查看默认实现RazorViewEngin.

这里有一些不错的文章:

具有动态视图位置的自定义视图引擎

在 ASP.NET Web API 中使用外部程序集中的控制器

如何在 ASP.NET MVC 应用程序中调用外部程序集中的控制器

如何实现自定义 RazorViewEngine 来查找非标准位置的视图?

ASP.NET MVC 中单独程序集中的视图

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

是否可以访问位于另一个项目中的 MVC 视图? 的相关文章

  • asp.net mvc GET 请求上的 formcollection 应该为空

    我正在发布一个简单的操作 public void Login FormCollection formCollection 即使查询字符串值很少 formcollection Count is 0 是靠行为吗 FormCollection 使
  • 将列添加到新的数据行

    是否可以创建一个新的 DataRow 对象并在运行时向其中添加列 How can I specify column names for this data row object DataRow row new DataRow 不 DataR
  • 读取 ASP.NET 中分块传输编码的 http 请求的正文

    J2ME 客户端正在使用分块传输编码发送 HTTP POST 请求 当 ASP NET 在 IIS6 和 WebDev exe server 中 尝试读取请求时 它将 Content Length 设置为 0 我想这没问题 因为加载请求时
  • 删除或替换 RouteTable 中的现有路由

    我得到了一个 ASP NET MVC 2 0 Preview 1 应用程序 并开始创建一些包含自己的路由的区域 我希望有一种方法可以在主项目中覆盖这些路线 我当然不能添加同名的新路线 我可以看到 RouteTable Routes Remo
  • asp.net 站点地图管理员查看用户看到的内容

    我目前正在尝试找出如何最好地为我的应用程序实施管理方面 我有一个用户网站 用户可以登录 自定义他们的个人资料 提交信息等 我希望管理用户能够登录并能够从用户列表中进行选择 从那里 管理员可以像用户一样为用户提交信息 Website Star
  • 当按下 html 键盘按钮时,将文本添加到输入字段(具有焦点的字段)

    我使用 HTML 创建了一个屏幕键盘 div and a 标签 页面上有六个文本输入 名字 昵称 姓氏 注释 过敏 手机号码 我不太擅长 JS 但如果页面上只有一个输入 我确实知道该怎么做 但我不确定当有多个输入时该怎么做 我遇到的问题之一
  • 在机器密钥更改期间维护 ASP.Net 成员密码

    是否有实用程序或代码示例可以使用旧密钥解密 然后使用新密钥为 ASP Net 会员用户加密密码 提到的解决方法都不适合我 我的解决方案如下 它首先以明文形式存储密码 然后使用新的 MachineKey 再次对其进行重新加密 机器钥匙更换 h
  • 使用 ASP.NET 开发服务器测试多个域

    我正在开发一个 Web 应用程序 该应用程序将根据用于访问该网站的域名动态更改其内容 多个域将指向同一个应用程序 我希望使用以下代码 或类似的代码 来检测域名并执行自定义 string theDomainName Request Url H
  • 需要进一步解释“没有加载任何符号”错误

    我在该网站上看到过有关以下错误的帖子 当前不会命中断点 尚未为此文档加载任何符号 但是 问题描述和解决方案并没有解决我所遇到的情况 所以我希望得到一些澄清 我正在使用 Visual Studio 2010 并正在开发一个非常大 有点旧的 A
  • 如何限制ajax日历扩展器中的年份

    我有一个日历延长器 我只想在日历中显示当前年份 用户无法选择 2010 年 因为当前年份是 2011 年 那么如何做到这一点呢 Use the StartDate and EndDate属性来设置您希望允许用户选择的可接受日期范围 您可以根
  • 调用 Web 服务时“请求失败,响应为空”

    从 aspx 页面调用服务器中托管的 Web 服务时 收到类似 请求失败 响应为空 的错误 我的页面中的代码 try HttpWebRequest request1 HttpWebRequest WebRequest Create http
  • Dictionary(Of String, String) 和 IDictionary(Of String, String) 有什么区别

    我可以用 IDictionary 做更多或更少的事情吗 这两个集合有何不同 IDictionary 只是一个接口 一个描述实现类必须执行的操作的契约 Dictionary 是一个实现该接口的具体类 因此必须提供 IDictionary 接口
  • 在 ASP .NET Core 2.1 Web Api 中启用 CORS

    我正在使用 ASP NET Core 2 1 Web API 和 React 编写应用程序 我的服务器位于 localhost 5000 上 客户端位于 localhost 3000 上 我想用 axios 发送 post 请求 但在浏览器
  • Windows 共享主机 - 自定义计划任务

    我有一个 Windows 共享主机 我需要每天运行一些预定的 C 可执行文件来创建站点地图 发送新闻通讯等 提供商告诉我 出于安全原因 我无法运行可执行文件 我能做什么 提供商建议我购买 VPS 但认为仅仅为了运行一些计划任务而花更多钱是没
  • 在 MVC 3 中,我无法让 @Html.DisplayFor 呈现格式化字符串

    我希望这是一个非常简单的问题 尽管经过大量谷歌搜索后 我还没有能够解决这个问题 我正在使用 MVC 3 开发一个购物车网站 并使用代码优先的实体框架 我发送的模型是 Product 对象的列表 每个对象都包含此属性 Required Err
  • 将 MVC2 升级到 MVC3 - 仅在服务器上出现问题 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我已使用此
  • IE8 中的 Javascript 消息超出堆栈空间

    我正在使用 Breeze 1 4 1 Internet Explorer 8 和 ASP NET MVC 4 Web API 我在查询时收到以下消息 查询失败 localhost port breeze Data Metadata 元数据导
  • 在 MVC Razor 视图中使用旧版 ASP.NET ASCX 用户控件

    我正在尝试实现一个使用 WebForm ascx 用户控件 非 MVC 的 MVC Razor Layout cshtml 页面 我这样做是基于 Scott Hansleman 文章 将 Razor 视图和 WebForms 母版页与 AS
  • IClaimsTransformation 未触发

    我尝试过实施一个IClaimsTransformation我在 ASP NET CORE 3 1 Web 应用程序中找到的类 public class ClaimsTransformer IClaimsTransformation publ
  • 网页执行回发时如何停止在注册表单上?

    我正在做我的最后一年的项目 其中 我在一页上有登录和注册表单 WebForm 当用户点击锚点时Sign Up下拉菜单ddlType 隐藏 和文本框 txtCustName txtEmail and txtConfirmPassword 显示

随机推荐

  • 是否可以使用与 std::set 中包含的类型不同的元素来执行搜索和删除?

    假设我有以下内容 struct MetadataThingy void actual thingy int some metadata int more metadata bool operator lt MetadataThingy co
  • @media print 的 CSS 第 x 页(共 y 页)

    我将在这个问题的前言中说 我知道这个问题之前已经被问过 但我能找到的所有答案似乎都引用了一个不再有效的过时的解决方案 至少在 Firefox 56 64 位 中 过时的方法是 曾经有一个自动实例化的 CSS 计数器 名为pages 因此从该
  • 向每个团队成员发送成功自动化构建的通知

    我们只是将 Visual Studio Team Services 集成为我们的新工作流程 并在提交到 master 的基础上设置自动构建 目前 承诺掌握并发起新构建的个人将在构建失败或成功时收到通知电子邮件 我们以为我们都会收到通知 但事
  • MVVM WPF ComboBox SelectedItem 绑定未在数据网格内激活

    在数据网格内操作时 我一直在努力保存组合框选定的值 当我制作没有数据网格的测试解决方案时 一切正常 上下文是与相关国家的人名 国家 地区存储在 xml 文件中 这是初始视图的快照 您可以在此处看到PersonList xaml 的重要部分
  • Java 包与 C++ 库

    In Java 有一种叫做package Does library in C 代表相同的含义 特别是在包含相关子句和使用受保护成员等术语中 Thanks 一个事物有不同的维度packageJava 中的意思 作为一个区分内部类名称与其他包中
  • 设计模式名称:从类级别获取类

    特别是在单元测试中 我们使用这种 设计模式 我称之为 从类级别获取类 框架测试 py class FrameWorkHttpClient object class FrameWorkTestCase unittest TestCase Su
  • “长度不能小于零。”在空白行上

    即使我注释掉发生错误的行 我仍然收到上述错误消息 知道是什么原因造成的吗 我尝试用测试值重写这些行 但仍然遇到相同的错误 这在调试模式下工作得很好 只有在部署中才会出现 原始代码 Line 21 string domain username
  • html5 画布中的运动 jpeg

    我正在尝试将运动 jpeg mjpeg 流 来自网络摄像头 包装到 html5 画布中 我知道 Safari 和 Chrome 对 mjpeg 具有本机支持 因此我可以将其放入img使其发挥作用 我想将它包裹在画布中的原因是我想对其进行一些
  • 设置对话框进度

    我有一个异步任务 在执行任务时不会添加百分比 它始终保持在 0 0 100 这是我的代码 private class getAppInfo extends AsyncTask
  • Django-filter 按相关字段过滤

    我有两张桌子 class Writer models Model name model CharField class Article models Model name model CharField writer model Forei
  • 如何在 AngularJS 页面中接收 POST 请求?

    我们制作了一个 AngularJS 应用程序 用户打开一个 URL xyz com booking 填写表格 然后选择一些要购买的商品 之后 用户单击 购买 按钮并离开该站点前往支付网关站点 付款成功后 支付网关通过在回调 URL xyz
  • 如何在Python中生成具有重复数字的随机列表

    所以几天前我才开始用Python编程 现在 我正在尝试制作一个生成随机列表的程序 然后选择重复元素 问题是 我的列表中没有重复的数字 这是我的代码 import random def generar listas numeros rango
  • 修改传递给脚本的参数 (Bash)

    我已经在谷歌上寻找了很长一段时间 但找不到任何符合我需要 想要做的事情 我的目标是编写一个带有两个参数的脚本 它将搜索第一个参数 这是一个列表 并检测第二个参数是否已在其中 例如 列表 bin foo bin random 随机 添加到列表
  • 无法理解带有两个变量的for循环[重复]

    这个问题在这里已经有答案了 当我在具有不同条件的 for 循环中使用两个变量时 我在下面使用了两个条件i lt 3 j lt 2for 循环始终执行 直到第二个条件失败 include
  • YARN 上 Spark 的性能问题

    我们正在尝试在纱线上运行我们的火花集群 我们遇到了一些性能问题 特别是与独立模式相比 我们有一个由 5 个节点组成的集群 每个节点都有 16GB RAM 和 8 个核心 我们在yarn site xml中将最小容器大小配置为3GB 最大容器
  • 按周/月间隔的日期范围分组

    我正在使用 MySQL 并且有下表 clicks int period date 我希望能够生成这样的报告 其中月经周期是在过去 4 周内完成的 period clicks 1 7 7 5 1000 25 6 31 7 18 6 24 6
  • 在 IOS 上使用 AFNetworking 流式传输 JSON

    使用 AFNetworking 从流式 JSON API 接收数据的最优雅的方式是什么 AFNetworking 为从 JSON API 接收非流数据提供了出色的支持 但我找不到任何流 JSON 的示例 AFNetworking 没有内置的
  • Safari 无法在 Rails 应用程序中加载 HTML5 视频

    我有一个 Rails 应用程序 我正在尝试使用以下标记播放 HTML5 视频 不起作用
  • PHP SoapClient - 具有相同键的多个属性

    我正在使用 SoapClient 尝试为该规范生成一些东西
  • 是否可以访问位于另一个项目中的 MVC 视图?

    我想将我的 MVC 项目分成几个项目 首先 我创建了两个项目Front and Views The Front项目是一个包含控制器和模型的 Web 应用程序 The Views项目是一个类库项目 仅包含视图 我的问题是如何让控制器调用位于V