等同于 ASP.NET Core 1.1 中的 BindPropertyAttribute

Equivalent to BindPropertyAttribute in ASP.NET Core 1.1

由于托管服务提供商施加的限制,我不得不使用 ASP.NET Core 1.1。

我创建了一个模型 class 并希望将该模型绑定到与模型名称不同的命名值 属性。

在 ASP.NET Core 2.0 之后,我将使用 BindPropertyAttribute 如下:

public class MyModel
{
    [BindProperty(Name="g-recaptcha-response")]
    public string GoogleReCaptchaResponse { get; set; }
}

但是,BindPropertyAttribute 在 ASP.NET Core 1.1 中不受支持。我可以使用替代方案吗?

您可以使用 ModelBinder 属性:

[ModelBinder(Name = "g-recaptcha-response")]
public string GoogleReCaptchaResponse { get; set; }

在视图中,您应该将元素 name 设置为 g-recaptcha-response 以进行模型绑定:

<input name="g-recaptcha-response" class="form-control" />