使用包罗万象的通配符重定向到控制器(但使用不同的主控制器)

2023-12-07

我有一个问题,我想根据它的来源以不同的方式显示视图(不同的母版页),但不知道从哪里开始......

我有几条路线可以捕获包含不同结构的各种不同类型的网址。

在下面的代码片段中,我有一个产品路线,然后有一个合作伙伴网站路线,它也可以转到产品页面,但假设这个合作伙伴是百事可乐,他们希望在母版页上展示自己的品牌,而不是我们自己的默认样式。假设我去产品/cola.htm。这应该转到与以下相同的网址合作伙伴/百事可乐/产品/cola.htm,并且 PartnerRedirect 将能够根据通配符处理 url,通过将 url 通配符(在本例中为“products/cola.htm”)转换为控制器操作,并将用户转发到(但只需更改视图中的母版页)。

routes.MapRoute(
    "Product",
    "products/{product}.htm",
    new { controller = "Product", action = "ShowProduct" }
);

routes.MapRoute(
    "ProductReview",
    "products/{product}/reviews.htm",
    new { controller = "Product", action = "ShowProductReview" }
);

routes.MapRoute(
    "Partner",
    "partners/{partner}/{*wildcard}",
    new { controller = "Partners", action = "PartnerRedirect" }
);

这可能吗?如果是这样,怎么办?

提前谢谢了。


在您的合作伙伴控制器中,为什么不设置一个 cookie 来指示您想要显示哪个合作伙伴,然后重定向到路由的通配符部分。这样您就可以为所有后续页面视图显示相同的合作伙伴布局。

我不知道这是否是您正在寻找的,但这可能是一个选择。

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

使用包罗万象的通配符重定向到控制器(但使用不同的主控制器) 的相关文章

随机推荐

  • 如何使用 dotdotdot 扩展截断的文本 onclick?

    我正在使用jQuery dotdotdot截断插件点点点 frebsite nl 我想截断最多 2 行 当用户点击more 那么它必须显示全文 展开 取消截断 到目前为止 我 仅 设法截断我的文本 但不是 去截断 它 这是我的代码 p cl
  • 使用 FormCollection 时,MVC 3 RTM allowedHtml 不起作用

    MVC 3 RTM 拥有一个具有AllowHtml 属性的模型 在我的控制器操作中 如果该操作将 FormCollection 作为参数 则会引发异常 HttpPost public ActionResult Edit FormCollec
  • 删除旧的 git 提交

    我对 git 很陌生 想知道这样的事情是否可能 gt git log pretty oneline abbrev commit 2f05aba Added new feature 3371cec Fixed screw up lt I wa
  • 类具有不受支持的主要或次要版本号

    在 Eclipse 中 我创建了一个链接到 ejb 和模型的 EAR 项目 我运行 EAR 并收到以下错误 无法部署earkmz 部署失败 部署期间发生错误 部署应用程序时出现异常 earkmz UnsupportedClassVersio
  • WordPress 排队脚本和样式

    我使用开源 WordPress 主题 想要从 header php 文件中删除样式和脚本并正确编写它们 我已将以下代码添加到我的functions php 文件中 但没有任何反应 function smarter scripts wp en
  • 完整加权网络中的社区检测

    我确实有一个完整的网络图 其中每个顶点都相互连接 它们仅在不同权重的形式上有所不同 一个示例网络是 一个贸易网络 其中每个国家都以某种方式相互连接 只是贸易量的形式不同 现在的问题是我如何以这种形式的网络执行社区检测 通常的嫌疑人 算法 只
  • iPhone 设备之间的蓝牙信号强度

    我有两个通过蓝牙连接的 iPhone 设备 是否可以获得这些设备之间的信号强度 如果可以的话 如何 谢谢 凯德 查看通过蓝牙将数据从一台设备传输到另一台设备的 Apple 示例项目 BTLE 苹果示例代码 您可以通过 RSSI 接收信号强度
  • 警告:遇到非数字值

    最近更新到 PHP 7 1 并开始出现以下错误 警告 第 29 行遇到非数字值 这是第 29 行的样子 sub total item quantity product price 在本地主机上一切正常 有什么想法如何解决这个问题或者它是什么
  • Android Google Maps API v2:获取我的方位位置

    我想强制相机的行为就像您正在使用导航一样 这意味着当您向左旋转 90 时 相机会执行相同的操作 我有一个谷歌地图 其中显示了我的位置 作为蓝点 mGoogleMap setMyLocationEnabled true 当我移动时 蓝点带有箭
  • 使用信号进行进程同步是如何工作的?

    我最近完成了 Unix 环境中的高级编程 第 3 版 的第 10 节 信号 我遇到了一段我不完全理解的代码 include apue h static volatile sig atomic t sigflag set nonzero by
  • 用于 url 验证和部分捕获的正则表达式

    是否可以使用单个正则表达式来验证网址并匹配所有部分 我一直在研究一个正则表达式 到目前为止我想到的是 P
  • PostgreSQL IN() 子句中的 ORDER BY 值

    好的 有一些关于如何执行此操作的答案 但所有答案都假设查询选择全部 如果您有不同的选择 这些方法将不再起作用 请参阅此处了解该方法 在 Postgresql 中模拟 MySQL 的 ORDER BY FIELD 基本上我有 SELECT D
  • React.js 应用程序显示 404 未在 nginx 服务器中找到

    我将react js应用程序上传到服务器 我正在使用 nginx 服务器 应用程序运行良好 但是当我转到另一个页面并刷新时 该网站无法正常工作 它显示 404 未找到错误 我该如何解决这个问题 当你的react js应用程序加载时 路由由前
  • PostgreSQL:在 PostgreSQL 中同时修改所有表的 OWNER

    如何修改 PostgreSQL 数据库中所有表的所有者 I tried ALTER TABLE OWNER TO new owner但它不支持星号语法 您可以使用REASSIGN OWNED命令 概要 REASSIGN OWNED BY o
  • 如何创建自定义 WPF 设置向导

    我已经构建了我的第一个 wpf 应用程序 没什么花哨的 但我想通过添加一个设置让它看起来很酷 我在互联网上研究了一些免费的实用程序来做到这一点 但由于它是一个 wpf 应用程序 我希望设置能够进行沿着这些思路 知道如何创建自定义 wpf 设
  • 使用代码分发 git 配置

    在尝试为开发人员标准化平台时 我的需求之一是承诺 git config这样每个人都有相同的 CRLF 配置 而不会忘记手动设置它 我该如何设置 我对所有这些负面影响感到有点担心autocrlf 如果这个功能不起作用 为什么不删除它呢 这个功
  • 为什么尝试通过序列化为 JSON 来打印对象时缺少一些成员?

    如何在C 中打印任意变量以打印所有成员 我用相同的技术找到了三个答案 https stackoverflow com a 26181763 2125837这建议在其他答案中使用 Json NET 进行序列化 并且 https tech io
  • 如何附加数据库?

    当我想附加数据库时 出现错误 无法打开数据库 Almizan 因为它是版本 661 此服务器支持版本 655 及更早版本 不支持降级路径 无法打开新数据库 Almizan 创建数据库被中止 Net SqlClient 数据提供程序 帮我附加
  • 如何解决“APK META-INF/* 中复制的重复文件”问题

    我正在开发一个商业 Android 应用程序 我还使用一些根据不同许可证类型获得许可的库 其中一些库声明如下 如果图书馆有带有归属说明的 通知 文件 则在分发时必须包含该通知 其中之一已获得许可阿帕奇许可证 2 0例如 有不止一个图书馆 当
  • 使用包罗万象的通配符重定向到控制器(但使用不同的主控制器)

    我有一个问题 我想根据它的来源以不同的方式显示视图 不同的母版页 但不知道从哪里开始 我有几条路线可以捕获包含不同结构的各种不同类型的网址 在下面的代码片段中 我有一个产品路线 然后有一个合作伙伴网站路线 它也可以转到产品页面 但假设这个合