2013-10-09 39 views
1

我寫定製DataAnnotationsModelValidatorProvider和壓倒一切的方法如何檢索剃刀聲明的模型視圖中使用ControllerContext

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

我怎麼能弄清楚什麼是在剃刀聲明的模型類型的名稱查看聯繫上下文訪問?

+0

你更好地依靠模型*類型*而不是模型名稱。 – haim770

回答

0

要想從ControllerContext使用的型號:

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

注意:您要使用的模型類型而不是字符串,所以要用:

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

,而不是

if (modelName == "MyViewModel") { //... }