我正在尝试使用 VS 2012 (C#) 中的“ASP.NET 动态数据实体 Web 应用程序”项目模板构建一个简单的网站。这几乎是标准模板设置,其中 DateTime 类型属性是主键的一部分的实体(基础表在映射列上也具有 SQL DateTime 类型)。当我尝试查看详细信息页面或编辑一行时,我得到了 FormatException:
字符串未被识别为有效的日期时间。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.FormatException:字符串未被识别为有效的 DateTime。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[FormatException:字符串未被识别为有效的 DateTime。]
System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 参数)+965
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调)+21
系统。 Web.UI.WebControls.DataBoundControl.PerformSelect() +138
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +30
System.Web.UI.WebControls.FormView.DataBind() +4
System.Web.UI.WebControls .BaseDataBoundControl.EnsureDataBound() +105 System.Web.UI.WebControls.FormView.EnsureDataBound() +178
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75 System.Web.UI.Control.EnsureChildControls() +83 System.Web.UI.Control.PreRenderRecursiveInternal() +42
System.Web.UI.Control.PreRenderRecursiveInternal () +168
System.Web.UI.Control.PreRenderRecursiveInternal() +168
System.Web.UI.Control.PreRenderRecursiveInternal() +168
System.Web.UI.Control.PreRenderRecursiveInternal() +168
System.Web.UI.Control .PreRenderRecursiveInternal() +168
System.Web.UI.Control.PreRenderRecursiveInternal() +168
System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint) +974
我尝试<globalization>
在 web.config 的节点中设置文化,但没有帮助。详细信息页面的 URL 包含查询字符串中的列,如下所示: &Created=09%2F30%2F2013 16%3A10%3A33&Updated=09%2F30%2F2013 23%3A10%3A40 对于 Created 为 '30-09- 的行2013 年 16 点 10 分 33 秒和更新的“2013 年 9 月 30 日 23 点 10 分 40 秒”。
这是我的第一个动态数据项目,所以我真的不知道该怎么做......在此先感谢您的帮助。
编辑:
添加
<globalization uiCulture="en-US" culture="en-US"/>
到主 web.config 的 system.web 节点导致异常消失,但现在详细信息找不到正确的行,说“没有这样的项目”。