2015-12-14 4 views
4

Я помню функцию MVC, которая позволяет влиять на исходный объект, с помощью которого можно получить значения параметров для данного метода.Что называется этой функцией MVC?

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

    return View(); 
} 

в квадратные скобки «[SomethingHere]» будет содержать элемент, называемый «параметр», что MVC затем попытаться получить Int с. Я забыл, что называется этой функцией, и мой Google fu, по-видимому, слаб. Как это называется?

+1

Вы имеете в виду привязку к модели? –

+0

@ L-Three Я знаю о привязке модели, хотя moreso в модели для просмотра контекста. Итак, вы были правы, объективно, но подмножество функциональности, которую я искал, содержалось в ParameterBinding, как указано CodeCaster. Я пытался оценить, должен ли я использовать его где-нибудь, и, похоже, он скорее специфичен для Web API, а не MVC. Я, по общему признанию, оговорился, просто пытаясь понять, что я пытаюсь запомнить. – Bigsby

ответ

2

A [Thing] называется атрибутом. Атрибуты сами по себе ничего не делают, они просто предоставляют метаданные.

Используя атрибуты, вы можете указать MVC обрабатывать определенные вещи, отличные от их значений по умолчанию.

В этом случае вы переопределяете поведение повязки модели по умолчанию.

Для «документации» см. ASP.NET MVC Preview 5 and Form Posting Scenarios. Здесь объясняется атрибут параметра [Bind].

MSDN имеет еще меньше информации: BindAttribute, ModelBinderAttribute.

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 в течение длительного примера.

Смежные вопросы