2011-12-05 7 views
0

私は私の大学のサーバーでそれを置くasp.netのウェブサイトが私はxml要素の内部のテキストカレンダーコントロールで選択する日付に変換します。私はIS-asp.netのWebサイトは、サーバーにアップロードした後にエラーを出す、ローカルサーバー上で正常に動作する

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> 

like-見えます。また、問題がこれらの要素の内側のテキストが

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ファイルを読み取るために使用される方法とconversion-

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

2台のコンピュータが異なる地域設定を持っています。文字列「12/25/2011」をDateTime値に変換しています。コントロールパネル/地域の設定の短い日付形式がdd/MM/yyyyの場合、25は月番号として解釈され、文字列は無効と見なされます。経度/緯度の値は、私の推測では小数点の区切り記号が大学のサーバー上でカンマに設定されていると考えられます。 2番目のIFromatProviderパラメータでConvert.ToDateTime/ToDoubleのバージョンを使用することを検討してください。

+0

ありがとうIgorさん。私はこれでかなり混乱していた。私は最終的なプロジェクトとしてこのウェブサイトを表示する必要がありますが、これは唯一の壊れた部分でした。今それは正常に動作しています。 –

関連する問題