1

我正在编写自定义 DataAnnotationsModelValidatorProvider 和覆盖方法

 GetValidators(ModelMetadata metadata, 
               ControllerContext context, 
               IEnumerable<Attribute>  attributes)

如何确定在此上下文正在访问的 Razor 视图中声明的模型类型的名称是什么?

4

1 回答 1

0

要从 ControllerContext 获取模型,请使用:

var model = context.Controller.ViewData.Model;
var modelName = model.ToString();

注意:您应该使用模型类型而不是字符串,因此请使用:

if (model is MyViewModel) { //... }

代替

if (modelName == "MyViewModel") { //... }
于 2013-10-09T16:52:17.197 回答