小编Zor*_*noz的帖子

在 ASP.NET 4.6.1 项目中集成 Microsoft.Extensions.DependencyInjection

我的大部分项目一直使用 .NET Core 3.1,但目前有一个现有项目使用 .NET Framework 4.6.1

我在实现对 .NET Framework 4.6.1 的依赖注入时遇到困难,不确定我哪里做错了。

这是我到目前为止的理解和所做的:

  • .NET Framework 4.6.1 在运行时运行 Global.asax.cs -> Application_Start()
  • .NET Core 3.1 在运行时运行 Startup.cs

这就是 .NET Core 3.1 中添加依赖注入的方式

启动.cs

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();
        RegisterServices(services);

        ServiceProvider = services.BuildServiceProvider();
    }
    private void RegisterServices(IServiceCollection services)
    {
        services.AddOptions();
        services.AddTransient<IMemberServices, MemberService>();
    }
Run Code Online (Sandbox Code Playgroud)

如何在 .NET Framework 4.6.1 中添加 IMemberServices 与 MemberService 的依赖关系

全局.asax.cs

public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        //What to write here?
    }
}
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection .net-framework-version .net-core asp.net-core

5
推荐指数
2
解决办法
5793
查看次数

Razor 页面中的流畅验证

基于此页面,我正在尝试制作一个使用流畅验证的剃刀页面。它似乎已经检查过,但我不确定为什么错误消息不会显示。

这是我到目前为止所做的:

cshtml.cs:

CreateCommandValidator CreateValidator = new CreateCommandValidator();
var createCheck = CreateValidator.Validate(NewItem);
foreach (ValidationFailure fail in createCheck.Errors)
{
     ModelState.AddModelError(fail.PropertyName, fail.ErrorMessage);
}
return Page();
Run Code Online (Sandbox Code Playgroud)

.cshtml:

<label class="col-form-label">Name</label>
<input asp-for="NewItem.Name" type="text" class="form-control mb-2"/>
<span asp-validation-for="NewItem.Name" class="text-danger"></span>
Run Code Online (Sandbox Code Playgroud)

创建命令验证器:

RuleFor
     (Item => Item.Name)
     .NotEmpty().WithMessage("The name cannot be empty")
     .Length(1, 100);
Run Code Online (Sandbox Code Playgroud)

ValidationFailure 能够检测到错误消息,但不确定为什么它不会显示在页面上。有什么想法吗?提前致谢!

error-handling fluentvalidation razor asp.net-core razor-pages

4
推荐指数
1
解决办法
3114
查看次数