2011-12-05 80 views
0

我有一個asp.net網站,當我把它放在我的大學服務器上給了我一個錯誤,當我退出了一個xml元素的內部文本並將其轉換爲應在日曆控件上選擇的日期。 錯誤我收到IS-asp.net網站上傳到服務器後出現錯誤,在本地服務器上正常工作

String was not recognized as a valid DateTime. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.FormatException: String was not recognized as a valid DateTime. 

Source Error: 

Line 91:     displayEvent.Text += "<b>On-</b>" + node.SelectSingleNode("date").InnerText + "<br />"; 
Line 92:     displayEvent.Text += "<b>Contact Number-</b>" + node.SelectSingleNode("phone").InnerText + "<br />"; 
Line 93:     DateTime dts1 = Convert.ToDateTime(node.SelectSingleNode("date").InnerText); 
Line 94:     Calendar1.SelectedDate = dts1; 
Line 95:     latitude = node.SelectSingleNode("latitude").InnerText; 

的XML文件看起來喜歡 -

<root1><data><event_name>Christmas Party</event_name><event_desc>The annual christmas bash is happening as planned. This year there is bound to be more excitement.</event_desc><date>12/25/2011</date><phone>111-111-1111</phone><latitude>43.700573</latitude><longitude>-79.296661</longitude></data><data><event_name>New Year Party</event_name><event_desc>Ring in the new year with us, the party is going to be a never before event with a huge celebrity guest line up.</event_desc><date>12/31/2011</date><phone>222-222-2222</phone><latitude>43.728572</latitude><longitude>-79.48669</longitude></data><data><event_name>Jt Birthday</event_name><event_desc>It's jasmeet's birthday. He wanted to get a samsung nexus s, so i should try and buy that for him.</event_desc><date>12/11/2011</date><phone>333-333-3333</phone><latitude>45.515849</latitude><longitude>-73.553417</longitude></data></root1> 

而且我使用的緯度和經度顯示他們在地圖上。它也有問題,將這些元素的內部文本翻番

Input string was not in a correct format. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.FormatException: Input string was not in a correct format. 

Source Error: 

Line 75:  { 
Line 76:   GMap1.reset(); 
Line 77:   GMap1.addGMarker(new GMarker(new GLatLng(Convert.ToDouble(latitude),Convert.ToDouble(longitude)))); 
Line 78:   GMap1.setCenter(new GLatLng(Convert.ToDouble(latitude), Convert.ToDouble(longitude)), 6); 
Line 79:   displayEvent.Text = "         "; 

,我無法理解的是,這一切的工作我的電腦上精美絕倫的事情。當我在本地服務器上測試它工作正常,但在我的大學服務器上它給出了這些錯誤。任何人都可以指導我,我在這裏做錯了什麼。網站的其他部分正在讀取其他XML文件,他們不會拋出任何異常。這是最新的XML閱讀網站,其他一切正常。 ,其用於讀取XML文件的方法和轉換 -

protected void okButton_Click(object sender, EventArgs e) 
    { 
     GMap1.reset(); 
     GMap1.addGMarker(new GMarker(new GLatLng(Convert.ToDouble(latitude),Convert.ToDouble(longitude)))); 
     GMap1.setCenter(new GLatLng(Convert.ToDouble(latitude), Convert.ToDouble(longitude)), 6); 
     displayEvent.Text = "         "; 
     XmlDocument doc = new XmlDocument(); 
     doc.Load(Server.MapPath("Xml/try.xml")); 
     XmlNodeList nodeList = doc.SelectNodes("root1/data"); 
     foreach (XmlNode node in nodeList) 
     { 
      if (node.SelectSingleNode("event_name").InnerText.Equals(DropDownList1.SelectedValue)) 
      { 
       latitude = ""; 
       longitude = ""; 
       displayEvent.Text += "<b>Event name-</b>" + node.SelectSingleNode("event_name").InnerText + "<br />"; 
       displayEvent.Text += "<b>Description-</b>" + node.SelectSingleNode("event_desc").InnerText + "<br />"; 
       displayEvent.Text += "<b>On-</b>" + node.SelectSingleNode("date").InnerText + "<br />"; 
       displayEvent.Text += "<b>Contact Number-</b>" + node.SelectSingleNode("phone").InnerText + "<br />"; 
       Calendar1.SelectedDate = Convert.ToDateTime(node.SelectSingleNode("date").InnerText); 
       latitude = node.SelectSingleNode("latitude").InnerText; 
       longitude = node.SelectSingleNode("longitude").InnerText; 
      } 
     } 
    } 

回答

1

兩臺計算機具有不同的區域設置。您正在將字符串「12/25/2011」轉換爲DateTime值。如果在控制面板/區域設置短日期格式爲dd/MM/yyyy,則25被解釋爲月份編號,並且該字符串被認爲是無效的,因爲我們只有十二個。至於經度/緯度值,我的猜測是小數點分隔符在您的大學服務器上設置爲逗號。考慮將Convert.ToDateTime/ToDouble的版本與第二個IFromatProvider參數一起使用。

+0

非常感謝伊戈爾先生。我對此頗感不安。我必須展示這個網站作爲最後的項目,這是唯一的破碎部分。現在它工作正常。 –

相關問題