请任何人都可以解释我们使用#include和#Exclude Mvc的任何种类的细节

时间:2018-12-24 16:25:06

标签: asp.net-mvc model-view-controller

定义包括和排除以及示例。 为什么我们在MVc中使用包含和排除。我们在哪里使用

1 个答案:

答案 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,而不要使用“包含”和“排除”功能。