代码如下,
protected internal string GetFieldNameTValue(ExpressionFuncTModel, TValue expression)
{
ModelMetadata modelMetadataByExpression = ModelMetadata.FromLambdaExpressionTModel, TValue(expression, ((HtmlHelperTModel)HtmlHelperExtension.HtmlHelper).ViewData);
string expressionText = ExpressionHelper.GetExpressionText(expression);
return HtmlHelperExtension.HtmlHelper.ViewData.TemplateInfo.GetFullHtmlFieldName(expressionText);
}
protected internal dynamic GetModelStateValueTValue(ExpressionFuncTModel, TValue expression)
{
string key = this.GetFieldName(expression);
ModelMetadata modelMetadata = ModelMetadata.FromLambdaExpressionTModel, TValue(expression, ((HtmlHelperTModel)HtmlHelperExtension.HtmlHelper).ViewData);
ModelState modelState;
if (HtmlHelperExtension.HtmlHelper.ViewData.ModelState.TryGetValue(key, out modelState) && modelState.Value != null)
{
return modelState.Value.ConvertTo(modelMetadata.Model.GetType(), null);
}
else
return null;
}
取出的modelState永远是null ,是不是漏了什么?