c# - 如何在mvc中从另一个 Controller 调用一个 Controller 中编写的函数

标签 c# asp.net-mvc

我有 2 个名为 LoginController 和 RegisterController 的 Controller ,并且在 RegisterController 中定义了一个函数“public static string Encrypt(string toEncrypt, bool useHashing)”。我如何从 LoginController 调用相同的函数?

我使用了 var result= new RegisterController().Encrypt(newpass, true); 代码,但结果: 错误 4 无法使用实例引用访问成员“AP.WebApp.Controllers.RegisterController.Encrypt(string, bool)”;用类型名称来限定它

最佳答案

您可以通过继承来解决这个问题。

示例:

public abstract class BaseController : Controller 
{ 
    //Common functionality between controllers go here
    protected static string Encrypt(string toEncrypt, bool useHashing)
    {
        //Your content
    } 
}

public class LoginController : BaseController //not Controller anymore 
{
    //Encrypt is now available

    //...Your controller methods here
}

public class RegisterController : BaseController //not Controller anymore 
{
    //Encrypt is now available

    //...Your controller methods here
}

关于c# - 如何在mvc中从另一个 Controller 调用一个 Controller 中编写的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738384/

相关文章:

c# - 使用错误的 web.config 在 azure 中部署的应用程序

c# - 如何从文本区域 mvc4 显示新行?

c# - 从网站主机连接到专用网络上的安全数据库

c# - c#中的装饰器模式和扩展方法

c# - URL编码和解码

asp.net-mvc - 如何从服务层渲染 View ?

c# - 如何在 C# 的进程中退出子窗口后访问主窗口句柄

c# - Linq to Entities Expression/Func 之间的性能差异

c# - 如何在数据库中保存图片路径

mysql - 在使用 Entity Framework Code First 和 mysql 时强制 engine=innodb