强类型Bind(Include = **)属性

时间:2017-07-13 10:40:36

标签: c# .net asp.net-mvc

以下是我的某个控制器

的动作定义
public ActionResult Login([Bind(Include = "Email,Password")] Utilisateur utilisateur)

我没有找到以这种方式绑定属性的任何方法

[Bind(Include = "Utilisateur.Email, Utilisateur.Password")]

这样做会受益于Visual Studio的重构功能以及它将创建的“强绑定”的所有其他方面。

我们是否必须使用字符串告诉Include属性要绑定哪些字段,或者是否有办法按对象的属性执行我想要的操作?

我找不到任何明确答案的类似问题。

2 个答案:

答案 0 :(得分:2)

实际上,Include和Exclude有两种类型的属性。

如果你想在你的模型中包含一些参数include,那么使用include属性。

public ActionResult Login([Bind(Include = "Email,Password")] Utilisateur utilisateur)

如果要从对象中排除参数,请使用exclude属性。

public ActionResult Login([Bind(Exclude= "Email,Password")] Utilisateur utilisateur)

如果您想要更清晰,请告诉我。

答案 1 :(得分:1)

因此,似乎使用模型绑定器内联的唯一方法,就像我想要的那样,是将属性名称作为字符串传递。据我所知,没有办法有强类型模型绑定。