【发布时间】:2012-06-23 21:23:54
【问题描述】:
我有一个没有参数的动作方法。
QueryString 集合包含我所有的价值观。 QueryString 的键与我的视图模型属性匹配。
var queryStringValueProvider = new QueryStringValueProvider(ControllerContext);
var providerResult = queryStringValueProvider.GetValue(ValidationKeys.Id); // ?!
var viewModelTypeName = queryString[ValidationKeys.ViewModelType];
var viewModelType = Type.GetType(viewModelTypeName);
var viewModelInstance = providerResult.ConvertTo(viewModelType); // throws an InvalidOperationException
如何将QueryString 集合转换为视图模型?
当您将视图模型传递给操作方法参数时,ASP.NET MVC 已经这样做了。所以我需要的是使用 ASP.NET MVC 机制的事后模型绑定。
【问题讨论】:
-
这可能会回答您的问题。 stackoverflow.com/questions/627838/…
-
@Ademar 不,它没有。参数名称/属性名称仅在运行时已知。我尝试使用 RemoteAttribute 属性验证用户输入数据。我想要一个操作方法来处理应该是唯一的属性的远程验证。
标签: c# asp.net-mvc model-binding request.querystring value-provider