【发布时间】:2015-05-16 12:14:37
【问题描述】:
我正在开发一个 MVC.NET 项目。我对这项技术有一些疑问。
我有一些控制器之间通用的功能(或操作)。在控制器之间共享功能的一种方法是创建一个BaseController 并从Controller 扩展此控制器并从BaseController 扩展另一个控制器,但它有一些问题。困扰我的问题之一是用户可以请求此 url www.MySite.com/BaseController(对吗?),如果我使用 Authorize 属性,我的所有操作都需要授权。在不同的控制器中使用共享功能的另一种方法是什么。我需要那些分享功能使用ViewBag。你能帮帮我吗?
【问题讨论】:
-
您的
BaseController不应包含任何public ActionResult方法,因此用户无法导航到任何内容。只需创建可以从其他控制器调用的受保护的辅助方法 -
@StephenMuecke 但是当他尝试访问此控制器时,他会注意到 404 错误。因为找不到任何动作。没关系吗?
-
用户也可以导航到
/ThisUrlDoesNotExist并得到一个404错误:) - 你为什么要导航到一个不存在的页面 -
@StephenMuecke ph 是的,你是对的 :) 我认为 Controller not found 和 action not found 代码是不同的,但它们都会产生 404 错误。谢谢你,伙计:)但是分享功能没有其他方法吗?