我的网络应用程序在asp vb.net编辑器中运行完美。但是,当我通过IIS7运行我的Web应用程序时,我得到此错误。我在配置IIS7时缺少什么?是否有人可以提出建议?
先谢谢
答案 0 :(得分:6)
因为您的IIS7配置为英语,并且该日期可能是意大利语或类似的东西。您必须告诉Date.Parse
要使用哪种文化。
像
这样的东西dateValue = Date.Parse(yourDate, CultureInfo.CreateSpecificCulture("it-IT"))
或者您可以更改IIS7中的文化
这里有instructions
例如,如果您使用UI
使用UI打开IIS管理器并导航到您想要的级别 管理。 (omissis)
在“功能视图”中,双击“.NET全球化”。
在.NET全球化页面的属性表中,单击以选中 要编辑的全局设置,然后从中选择一个值 下拉列表。
在“操作”窗格中,单击“应用”。
或者您可以在web.config
<system.web>
<globalization culture="it-IT" uiCulture="it-IT"/>
</system.web>
答案 1 :(得分:4)
如果您确定日期始终与该格式完全相同,那么您可以改为使用ParseExact:
var date = DateTime.ParseExact(
"31/03/2012",
"dd/MM/yyyy",
System.Globalization.CultureInfo.InvariantCulture);
答案 2 :(得分:1)
您也可以使用CDate函数来解析日期。
Dim dDate As Date = CDate("31/03/2012")
使用此函数优于DateTime解析函数的优点是,您可以将任何可接受的日期字符串格式提供给它,它将转换它。如果无法解析日期,则会抛出错误。