ASP.net C#错误,CS1061: 'Web2Print.ArtworkLabel' 不包含 'ID',没有扩展方法 'ID' 的定义
我得到的错误是:ASP.net C#错误,CS1061: 'Web2Print.ArtworkLabel' 不包含 'ID',没有扩展方法 'ID' 的定义
CS1061:“Web2Print。 ArtworkLabel”不 不包含用于定义‘ID’和 没有扩展方法‘ID’接受 类型的 第一个参数‘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
类不存在于名称空间中。我不认为这应该是一个问题。
我试过重建,清除临时文件。
引发错误的函数存在命名空间Web2Print ,但 ArtworkLabel类没有在 命名空间
一切都必须在一个命名空间中。找出ArtworkLabel所在的名称空间,并将其称为ArtworkLabelNameSpace.ArtworkLabel
。
同时检查您的ASPX文件中是否存在一个名为ArtworkLabel
的控件;错误消息听起来像是它实际上找到了匹配对象,但该对象没有定义ID属性。
没有冲突的控件。一切都必须在名称空间中吗?它作为公共类在.CS文件中。把它放在命名空间中会有点痛苦,但我会放弃它。 – 2011-06-02 10:38:30
@Tom Gullen:我想如果你没有明确地指定一个名字空间,那么这个类就会在项目的默认名字空间中结束。如果可以在编译状态下使用,可以使用像[dotpeek](http://www.jetbrains.com/decompiler/index.html?topDP)这样的工具来检查程序集。 – Andomar 2011-06-02 10:54:26
它在ID是一个你在字符串中使用的int这个事实上是否存在争执? – DOK 2011-06-02 10:36:04
@DOK不,我试着把'ToString()',但它抛出相同的错误。 – 2011-06-02 10:39:07
如果你调试'TheLabel'有什么样的属性?对我来说,感觉就像你引用了一个老的dll或者一些思考,那个没有'ID'属性 – Magnus 2011-06-02 10:43:56