定义包括和排除以及示例。 为什么我们在MVc中使用包含和排除。我们在哪里使用
答案 0 :(得分:0)
我们在模型绑定中使用包含和排除。这些功能为我们在绑定过程中提供了更多的控制和安全性。让我用一个例子来解释。
我们有一个这样的模型:
public class TestModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Family { get; set; }
public string Address { get; set; }
public DateTime AddedDate { get; set; }
}
默认情况下,MVC将视图中的所有这些字段绑定到控制器。但是我们不想绑定AdditionalDate,因为我们想向控制器中的该字段添加数据。因此,通过排除功能,我们可以告诉MVC不会自动绑定AddedDate。
public ActionResult Edit([Bind(Exclude = "AddedDate")] TestModel model)
或者在其他情况下,您的老板告诉您,您不应该让用户在编辑表单中更改其地址。一种方法是更改视图并在视图内部添加一个隐藏字段,以保留“地址”值以进行绑定。但有时由于安全问题,您不能对ID,密码等敏感数据使用此方法...因此,您可以从绑定中排除该字段。
public ActionResult Edit([Bind(Exclude = "Address")] TestModel model)
以同样的方式,“包含”将告诉MVC哪些字段应成为绑定的一部分。
强烈建议您尽可能使用ViewModel,而不要使用“包含”和“排除”功能。