ValueProvider不包含TryGetValue的定义
在我的应用程序中,我试图从日期和时间字段中分割日期和时间,以便我可以在日期上放置一个jQuery日期选择器。 我找到了Hanselman用于拆分DateTime的代码 ,但是我在bindingContext.ValueProvider.TryGetValue(modelName, out valueResult);
上bindingContext.ValueProvider.TryGetValue(modelName, out valueResult);
编译错误bindingContext.ValueProvider.TryGetValue(modelName, out valueResult);
。 我得到的错误是:
错误3’System.Web.Mvc.IValueProvider’不包含’TryGetValue’的定义,并且没有可以找到接受类型’System.Web.Mvc.IValueProvider’的第一个参数的扩展方法’TryGetValue’(你错过了吗? using指令或程序集引用?)C:\ Documents and Settings \ xxx \ My Documents \ Visual Studio 2008 \ Projects \ MyProject \ Project \ Helpers \ DateAndTimeModelBinder.cs 83 42项目
我错过了什么? 我创建了一个新类,并将他的代码放在我项目的Helpers文件夹中。
TryGetValue()
不是System.Web.Mvc.IValueProvider
的成员。 我怀疑他有一个自定义扩展,看起来像:
public static bool TryGetValue(this IValueProvider valueProvider, string key, out ValueProviderResult result) { try { result = valueProvider.GetValue(key); return true; } catch { result = null; return false; } }
更新
TryGetValue()
不是扩展方法,而是IDictionary
类型的方法。 自MVC1以来, bindingContext.ValueProvider
的类型已更改为@mootinator指示。 您可以忽略对TryGetValue()
的调用,而是调用GetValue()
并检查结果为null。 我不确定它是否会抛出exception,因为我没有测试它,所以先尝试一下。
前几天我试图按照汉塞尔曼的例子来解决这个问题。 这不是MVC2的例子。 TryGetValue不再起作用和/或不再需要。 试试这个链接:
http://forums.asp.net/p/1529895/3706154.aspx
我创建了一个来自Hanselman的GetA方法的MVC2扩展方法来替换,但我不确定它是否按预期工作,因为它没有解决我的独特问题,这实际上与日期或时间没有任何关系。
public static T? GetA(this ModelBindingContext bindingContext, string key) where T : struct { T? valueResult = null; if (String.IsNullOrEmpty(key)) return null; //Try it with the prefix... try { valueResult = (T?)bindingContext.ValueProvider.GetValue(bindingContext.ModelName + "." + key).ConvertTo(typeof (T)); } catch (NullReferenceException){} //Didn't work? Try without the prefix if needed... if (valueResult == null && bindingContext.FallbackToEmptyPrefix == true) { try { valueResult = (T?) bindingContext.ValueProvider.GetValue(key).ConvertTo(typeof (T)); } catch (NullReferenceException){} } return valueResult; } }
- Ninject:实体对象不能被IEntityChangeTracker的多个实例引用
- 未找到路径’/ Account / Login’的控制器或未实现IController
- 如何在Asp.net MVC中编写OAuth2 Web API客户端
- 使用静态DbContext有什么缺点
- 存储/检索动态对象后,从动态对象中检索属性
- 通用枚举到SelectList扩展方法
- ‘System.Web.Mvc.HtmlHelper’不包含’RenderPartial’的定义 – ASP.Net MVC
- User.Identity.GetUserId是否已缓存或每次从数据库中获取?
- 应用程序在添加Oauth时重定向到Account / AccessDenied