sub*_*amn 3 asp.net asp.net-mvc-2
我正在尝试为文本框控件编写一个自定义控件,其中想要根据某些输入属性生成控件,我无法在自定义控件中访问GetModelStateValue.
我该怎么做呢 ?
Nic*_*sen 24
您将无法访问它,因为该方法被标记为内部方法.您可以做的最好的事情就是复制MVC源代码并将该方法放在可以访问它的地方.您可以使用以下内容.请注意,您需要传入htmlHelper对象才能访问ViewData.
static object GetModelStateValue(HtmlHelper htmlHelper, string key, Type destinationType)
{
ModelState modelState;
if (htmlHelper.ViewData.ModelState.TryGetValue(key, out modelState))
{
if (modelState.Value != null)
{
return modelState.Value.ConvertTo(destinationType, null /* culture */);
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)