title: ASP.net c# Error, CS1061: 'Web2Print.ArtworkLabel' does not contain a definition for 'ID' and no extension method 'ID'
body: <p>The error I am getting is:</p>
  
  <blockquote>
    <p>CS1061: 'Web2Print.ArtworkLabel' does
    not contain a definition for 'ID' and
    no extension method 'ID' accepting a
    first argument of type
    'Web2Print.ArtworkLabel' could be
    found (are you missing a using
    directive or an assembly reference?)</p>
  </blockquote>
  
  <p>On the line:</p>
  
  <pre><code>string FormVal = Request.Form["label" + TheLabel.ID];
  </code></pre>
  
  <p>The code block the line is in is:</p>
  
  <pre><code>public void SaveData(object sender, EventArgs e)
  {
      // New data record
      ArtworkData DataRecord = new ArtworkData(DataID);
      DataRecord.LoadTemplate();
      DataRecord.Template.LoadLabels();
      DataRecord.LoadDataLabels();
  
      // Delete all from DB
      ArtworkCommon.DeleteDataLabels(DataID);
  
      ArrayList LabelsCollection = new ArrayList();
  
      // Loop through all the fields
      foreach (ArtworkLabel TheLabel in DataRecord.Template.Labels)
      {
          string FormVal = Request.Form["label" + TheLabel.ID];
  </code></pre>
  
  <p>The definition of <code>ArtworkLabel</code> is:</p>
  
  <pre><code>/// &lt;summary&gt;
  /// A template label
  /// &lt;/summary&gt;
  public class ArtworkLabel
  {
      public bool Loaded { get; set; }
      public int ID { get; set; }
      public string Text { get; set; }
      public LabelStyle Style { get; set; }
      public Coordinate Coords { get; set; }
      public int TemplateID { get; set; }
      public int PageNumber { get; set; }
  </code></pre>
  
  <p>The code isn't very well formed, I know.  The function throwing the error exists in namespace <code>Web2Print</code>, but the <code>ArtworkLabel</code> class does not exist in a namespace.  I don't think this should be a problem.</p>
  
  <p>I've tried rebuilding, clearing temp files as well.</p>