我回想一下MVC中的一个功能,它允许您影响源对象,以便为给定方法派生参数值。
public ActionResult Foo([SomethingHere] int parameter)
{
// do something with parameter
return View();
}
括号内的" [SomethingHere]"将包含一个名为"参数"然后MVC会尝试从中获取一个int。我忘记了这个功能被称为什么,我的谷歌显然很弱。这叫什么?
答案 0 :(得分:2)
[Thing]
称为属性。属性本身没有任何作用,它们只提供元数据。
使用属性,您可以指示MVC处理与其默认值不同的某些内容。
在这种情况下,您将覆盖默认的模型活页夹行为。
参见"文档"以下内容:ASP.NET MVC Preview 5 and Form Posting Scenarios。这里参数属性[Bind]
在其他方面进行了解释。
MSDN的信息更少:BindAttribute,ModelBinderAttribute。
答案 1 :(得分:0)
您在谈论自定义模型绑定器吗?
public class HomeCustomDataBinder : DefaultModelBinder
{
public override object BindModel(
ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
// Various things.
}
}
public ActionResult Index(
[ModelBinder(typeof(HomeCustomBinder))] HomePageModels home)
{
// Various things.
}
有关扩展示例,请参阅ASP.NET MVC Custom Model Binder。