我的ASP.NET MVC 3应用程序中有这个简单的类:
namespace My.Project.Controllers
{
public ActionResult Settings()
{
var m = GetUserData(userID);
...
}
private UserModel GetUserData(string id)
{
if (string.IsNullOrEmpty(id))
{
return null;
}
...
}
}
现在,我在应用程序中创建了一个单独的区域来容纳API。如何调用第一个命名空间中的方法?
namespace My.Project.Areas.api.Controllers
{
public ActionResult Settings()
{
//How to call "GetUserData" from here?
}
}
答案 0 :(得分:0)
不要这样做。私有方法应该在您的业务逻辑层中。
<小时/> 但如果你想做到这一点,请进行这些修改
在第一个控制器中,将函数签名设为公共
public UserModel GetUserData(string id)
在第二个控制器中,添加此命名空间。
using My.Project.Controllers;
现在在方法内写下这个。
public ActionResult Settings(string id)
{
var controller = new FirstController(); //argh
var result = controller.GetUserData(id);
}