我在哪里可以把自定义类在ASP.NET MVC?

我有一些实用function和分页function。 我想为这些函数分别创build名为Utility和Pagination的类,以便我可以在多个控制器中使用这些类函数。

那么我在哪里可以将这些类放在我的文件夹结构中,然后如何访问呢?

你可以在根目录下创build一个名为Helpers的新文件夹,并在那里保存你的课程。 我会保留我的类下一个名为Helpers名称空间

 namespace MyProject.Helpers { public class CustomerHelper { //Do your class stuff here } } 

为了在我的其他类(Ex:Controllers)中join这个,我可以使用完全限定的名字

 var custHelper=new MyProject.Helpers.CustomerHelper(); 

要么

在顶部添加一个Import语句,以便我可以跳过完全限定的名称

 //Other existing Import statements here using MyProject.Helpers; public class RackController : Controller { public ActionResult Index() { var custHelper=new CustomerHelper(); //do something with this return View(); } } 

如果你认为你的Helper方法也可以在另一个项目中使用,你可以考虑把它们保存在一个单独的项目 (types类库)中。 要在你的项目中使用它,添加一个对这个项目的引用,像上面所做的那样使用它(使用全限定名或者使用import语句)

你可以把你的助手类放在任何你觉得合乎逻辑和方便的地方。

我个人从主项目文件夹创build一个文件夹Helpers

您可以在任何地方使用它们,可以通过完全限定类名或using声明。

在剃刀视图中,您可以使用

 @using MyProject.Helpers 

在你使用的控制器或模型中

 using MyProject.Helpers; 

您可以创build一个新项目,然后将常用类放入项目中。 如果你想使用它们,只需要添加引用项目。

另一种方法可能是创build一个基本控制器类,并在其中添加您的通用逻辑,并从您的基本控制器派生您的控制器。

 public class MyBaseController:Controller { public void CommonFunction() { } } 

使用像…

 public HomeController:MyBaseController { } 

另外,请确保将您的类的“生成操作”设置为“编译”。 在Visual Studio 2015中,默认情况下,在App_Code中创build的每个类(通过右键单击 – >添加 – >类)获得“内容”作为构build操作。