如何在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();
我不确定的一件事是如何处理返回参数。有谁能告诉我该怎么做吗?
您想看看如何创建一个自定义动作过滤器。然后,您可以将此可重用过滤器应用于需要此行为的任何操作方法。您可以在方法运行之前或之后应用它们。
看看ASP中的动作过滤。. NET MVC应用程序
您应该返回一个RedirectResult
。您应该始终返回从ActionResult
派生的内容,否则您将产生潜在的问题。
如果你想封装一些自定义的功能,你可以扩展这个类来满足你的需求。