当通过匿名类型像文本框的方法的HtmlHelper,你会得到绑定错误(因为匿名类型成员只有内部访问),除非你使用RouteDataDictionary提取成员 。
当我看到(的HtmlHelper扩展名)InputExtensions.TextBox方法接受匿名类型,我知道它在内部做一些转换或将失败,并出现相同的错误。
果然,它调用HtmlHelper.AnonymousObjectToHtmlAttributes方法,它的文档,试图通过不提它打下来的问题,而不是暗示它只是用破折号代替下划线,以确保使用有效的属性名。 当然。 无论如何...
我想看看到底是什么转换样子,但是当我检查的HtmlHelper的静态方法与ILSpy这个名字,该方法似乎只需要调用本身。 这里发生了什么?
public static RouteValueDictionary AnonymousObjectToHtmlAttributes(object htmlAttributes)
{
return HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
}