Подчеркните связующую модель струны
У меня сложилось впечатление, что при привязке к сложной модели все открытые свойства были обработаны, и для каждого была сделана привязка соответствия.
Я пытаюсь решить проблему именования переменных, чтобы модель
class Model {
public string Foo {get;set;}
public string FooBar {get;set;}
}
хорошо работает со строкой запроса, как
?foo=foo&foo_bar=foo_bar
Есть ли лучший способ, чем с пользовательским модельным переплетом? В любом случае, мой нет работа. FooBar просто пропущен.
public class StringModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var model = base.BindModel(controllerContext, bindingContext);
if (model != null)
return model;
var modelName = Regex.Replace(bindingContext.ModelName, "([a-z])([A-Z])", "$1_$2").ToLowerInvariant();
var value = bindingContext.ValueProvider.GetValue(modelName);
return value;
}
}
Зарегистрирован с
ModelBinders.Binders.Add(typeof(string), new StringModelBinder());