首先在这里简述一下重要步骤:
首先在.Net Core中当需要调用写好的类时需要将它注册到IOC容器里面,
例如有一个类的类名为Student,则:
services.AddScoped();
使用的时候要先声明一个私有的变量
例如: private Student _stu;
然后需要在调用它的地方先写一个构造方法,
例如:
public class HomeController : Controller
{
Public HomeController(Student stu)
{
this._stu=stu;
}
}
需要调用的类一般写在Models文件夹里面,有一种不错的写法是写接口,下面来简单介绍一下
流程:
定义一个接口,例:
public interface IGetData
{
string Adata();
string Adata();
int Count();
}
实现接口: 写一个类,继承接口,这时候接口名处会报错,只需根据提示点击生成接口即可,例:
public class UseGetData : IGetData
{
string Adata()
{
string a=“123”;
return a;
}
string Bdata()
{
string b=“456”;
return b;
}
int Count()
{
int c=666;
return c;
}
}
进行接口注入,service.AddTrasient <接口名,实现接口的类名>();
例:
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IGetData, UseGetData>();
}
在这里需要说的一点是可以新建一个类, 用这个类是对多个接口的实现,
例:ViewModels里面写一个类,类里面写可以写多个方法属性
public class ViewModels
{
public string AInfor;
public string BInfo;
public string CCount;
}
在***Controller里面进行调用,声明一个私有的接口,通过构造方法实现它
例:
public class HomeController : Controller
{
private readonly IGetData _GetData;
public HomeController( IGetData GetData)
{
_GetData = GetData;;
}
public IActionResult Index()
{
ViewModels myview=new ViewModels()
{
AInfor=_GetData.Adata(),
BInfor=_GetData.Bdata(),
CCount=_GetData.Count(),
};
return View(myview);
}
}
在cshtml页面通过引用ViewModels里面的类(@model ******)获取Model.ViewModels里面的属性名
通过遍历,取出后台数据显示到前台