ASP.net c#错误,CS1061:'Web2Print.ArtworkLabel'不包含'ID'的定义,也没有扩展方法'ID'

时间:2011-06-02 10:30:26

标签: c# asp.net visual-studio-2008 class

我得到的错误是:

  

CS1061:'Web2Print.ArtworkLabel'确实如此   不包含'ID'和。的定义   没有扩展方法'ID'接受a   类型的第一个参数   'Web2Print.ArtworkLabel'可能是   发现(你错过了使用   指令或程序集引用?)

在线:

string FormVal = Request.Form["label" + TheLabel.ID];

该行所在的代码块是:

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];

ArtworkLabel的定义是:

/// <summary>
/// A template label
/// </summary>
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; }

我知道,代码编写得不是很好。抛出错误的函数存在于命名空间Web2Print中,但ArtworkLabel类在命名空间中不存在。我不认为这应该是一个问题。

我也尝试过重建,清除临时文件。

1 个答案:

答案 0 :(得分:2)

  

存在抛出错误的函数   在命名空间Web2Print中,但是   ArtworkLabel类不存在于   命名空间

一切都必须在命名空间中。找出ArtworkLabel所在的命名空间,并将其称为ArtworkLabelNameSpace.ArtworkLabel

同时检查ASPX文件中是否存在名为ArtworkLabel的控件;错误消息听起来像它实际上找到了匹配的对象,但该对象没有定义ID属性。