C# 这个MVC特性叫什么?

C# 这个MVC特性叫什么?,c#,asp.net-mvc,C#,Asp.net Mvc,我回忆起MVC中的一个特性,它允许您影响源对象,用它为给定方法导出参数值 public ActionResult Foo([SomethingHere] int parameter) { // do something with parameter return View(); } 括号中的“[SomethingHere]”将包含一个名为“parameter”的成员,然后MVC将尝试从中获取int。我忘了这个功能叫什么了,我的Google fu显然很弱。这叫什么?您是在谈论自

我回忆起MVC中的一个特性,它允许您影响源对象,用它为给定方法导出参数值

public ActionResult Foo([SomethingHere] int parameter)
{
    // do something with parameter

    return View();
}

括号中的“[SomethingHere]”将包含一个名为“parameter”的成员,然后MVC将尝试从中获取int。我忘了这个功能叫什么了,我的Google fu显然很弱。这叫什么?

您是在谈论自定义模型活页夹吗

public class HomeCustomDataBinder : DefaultModelBinder
{
    public override object BindModel(
        ControllerContext controllerContext,
        ModelBindingContext bindingContext)
    {
        // Various things.
    }
}

public ActionResult Index(
    [ModelBinder(typeof(HomeCustomBinder))] HomePageModels home)
{
    // Various things.
}

有关扩展示例,请参见。

一个
[Thing]
称为属性。属性本身不起任何作用,它们只提供元数据

使用属性,您可以指示MVC处理与默认值不同的某些事情

在本例中,您将覆盖默认的模型绑定器行为

有关“文档”,请参阅以下内容:。这里解释了参数属性
[Bind]


MSDN的信息更少:,。

你是说模型绑定吗?@L-Three我知道模型绑定,不过在模型到视图上下文中更是如此。客观地说,您是对的,但我所寻找的功能子集包含在ParameterBinding中,正如CodeCaster所指出的。我试图评估是否应该在某个地方使用它,它似乎是特定于Web API的,而不是MVC。不可否认,我在这一部分说错了,仅仅是想弄清楚我想记住什么。