如何在c# MVC中封装执行返回的代码?

本文关键字:返回 执行 代码 封装 MVC | 更新日期: 2023-09-27 18:14:06

我有以下代码,在我的控制器中的一些操作结束时返回。与其让相同的代码重复多次,我更愿意封装它:

        if (Session["CurrentUrl"] != null) {
            var ip = new Uri((string)Session["CurrentUrl"]);
            var ipNoPort = string.Format("{0}://{1}/{2}", ip.Scheme, ip.Host, ip.PathAndQuery);
            return Redirect(ipNoPort);
        }
        return Home();

我不确定的一件事是如何处理返回参数。有谁能告诉我该怎么做吗?

如何在c# MVC中封装执行返回的代码?

您想看看如何创建一个自定义动作过滤器。然后,您可以将此可重用过滤器应用于需要此行为的任何操作方法。您可以在方法运行之前或之后应用它们。

看看ASP中的动作过滤。. NET MVC应用程序

您应该返回一个RedirectResult。您应该始终返回从ActionResult派生的内容,否则您将产生潜在的问题。

如果你想封装一些自定义的功能,你可以扩展这个类来满足你的需求。