从 MVC4 中的布局视图访问基本控制器中的方法

本文关键字:控制器 方法 视图 MVC4 布局 访问 | 更新日期: 2023-09-27 18:35:55

在我的MVC4 Web应用程序中,我有一个所有控制器都将继承的GlobalController,所以我有一个地方,其中包含必须在每个页面上运行的所有通用代码。我还有一个_MasterLayout.cshtml页面,我的所有视图都用作布局页面。到目前为止,我已经能够在我的GlobalController中放置代码,以用将动态数据传播到_MasterLayout.cshtml文件的东西填充ViewBag数据。

我现在需要弄清楚如何放置按钮和/或链接,人们可以单击这些按钮和/或链接来执行注册、登录、注销等操作。正如您可以想象的那样,这些功能可以在我网站的任何页面上使用,因此我希望这些功能的代码存在于我的GlobalController中。我已经在GlobalController内创建了public类来执行我想要的操作,但是我不知道的是如何将单击放置在_MasterLayout.cshtml文件上的链接或按钮连接到GlobalController公共类?

我不想渲染新视图!

从 MVC4 中的布局视图访问基本控制器中的方法

您的BaseController应该只包含控制器需要知道如何执行的方法,例如查找视图,因此View()方法。然后其他每个控制器都应该照顾好自己的工作。因此,对于登录,注销,注册,这些都涉及帐户管理。因此,您将创建一个帐户控制器并将这些操作放入其中

public class AccountController: BaseController {
    public ActionResult Logout() {
        /* logout user */
     }
    .....
 }

然后在您的视图中,您只需创建一个指向所需内容的操作链接。

<div id="header">
    @Html.ActionLink("Log me out", "Logout", "Account");
</div>

或者你可以直接调用它

<div id="header">
    <a href="/Account/Logout">Log me out</a>
</div>

希望这有助于您走上正轨。我还建议通过音乐商店教程来更好地了解使用 MVC。