2016-04-13 20 views
-1

Bu, basit bir web kullanıcı arayüzü içindir. Kullanıcının yeni bir işaretçi oluşturmasına izin veren bir form. Dün doğrulama ile çalıştı, ancak bugün durmuş gibi görünüyor. Şimdi belirli bir noktada bir NullReferenceException atar. Referansı yorumlamak istisnayı dosyaya geri taşır.NullReferenceException İzleme

Definy

const string sDateTimeFormat = "dd-MM-yyyy HH:mm:ss"; 
DateTime dtStartPeriod = DateTime.MinValue; 
DateTime dtEndPeriod = DateTime.MinValue; 
DateTime createDate = DateTime.Now; 
string cellNumber1 = null; 
string cellNumber2 = null; 
string cellNumber3 = null; 

if (int.TryParse(Request.Form["vehicleId"], out value)) 
{ 
    vehicleId = value; 
} 
else 
{ 
    vehicleId = -1; 
} 

Validation.Add("vehicleId", 
    Validator.Integer("You must choose a valid vehicle"), 
    Validator.Required("You must choose a vehicle from the list"), 
    Validator.Range(1000, 9999, "Pick a vehicle from the list provided") 
); 

Validation.Add("startDate", 
    Validator.DateTime(), 
    Validator.Required("Start date is a required field"), 
    Validator.StringLength(19, 19, "Start date's format is " + sDateTimeFormat + " and is 19 characters long") 
); 

Validation.Add("endDate", 
    Validator.DateTime(), 
    Validator.Required("End date is a required field"), 
    Validator.StringLength(19, 19, "End date's format is " + sDateTimeFormat + " and is 19 characters long") 
); 

HTML form elemanları

 <fieldset name="startDateFieldSet"> 
      <label for="startDateControl">Pick Start Date</label> 
      <input type="datetime" 
        name="startDate" 
        id="startDateControl" 
        class="@Validation.ClassFor("startDate")" 
        value="@((dtStartPeriod == DateTime.MinValue) ? "" : dtStartPeriod.ToString(sDateTimeFormat))" /> 

      @Html.ValidationMessage("startDate") 
      <br /><span class="requiredFormat">@sDateTimeFormat</span> 
     </fieldset> 

     <fieldset name="endDateFieldSet"> 
      <label for="endDateControl">Pick End Date</label> 
      <input type="datetime" 
        name="endDate" 
        id="endDateControl" 
        class="@Validation.ClassFor("endDate")" 
        value="@((dtEndPeriod == DateTime.MinValue) ? "" : dtEndPeriod.ToString(sDateTimeFormat))" /> 

      @Html.ValidationMessage("endDate") 
      <br /><span class="requiredFormat">@sDateTimeFormat</span> 
     </fieldset> 

Ekran bitleri screenshot 1 http://www.ctrackonline.com.au/screenshots/anchor-1.jpg
screenshot 2 http://www.ctrackonline.com.au/screenshots/anchor-2.jpg
screenshot 3 http://www.ctrackonline.com.au/screenshots/anchor-3.jpg
screenshot 4 http://www.ctrackonline.com.au/screenshots/anchor-4.jpg

+0

Muhtemelen Macar gösteriminden kaynaklanıyordur! – briantyler

+0

Ben sadece html var C# var arasındaki ayrımı yapmak için tarih alanları için daha kolay – Hecatonchires

cevap

1

Öyle mi VS İstisnalar?

+0

Utanıyorum. Sorunun yukarıda olduğunu düşündüm: – Hecatonchires

0

Özel durum ayarlarınızda, Sistem istisnaları altından NullReferenceException öğesini işaretleyin. Bu meydana geldiği ilk anda atılmasına neden olur. > Pencereler - -

Debug gelen istisnalar pencereye erişebilir> nedeniyle @ cellNumber1.ToString 2015

+0

sorun giderme sırasında ben daha kolay kullanıyorum 2013, ama teşekkürler – Hecatonchires

+0

Aynı şeyi https: // msdn de yapabilirsiniz. microsoft.com/en-us/library/038tzxdw(v=vs.120).aspx –