'label'不包含'Name'的定义,也没有扩展方法

时间:2017-02-01 03:59:47

标签: c# asp.net visual-studio

我在下面的代码中收到此错误消息:

  

'label'不包含'Name'的定义,也没有扩展名   方法'Name'可以找到接受第一个参数类型的标签。   (您是丢失还是使用指令或汇编引用?)

关于lbl.Locationusing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace budgetTracker { public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } static int i = 1; protected void saveSalaryButton_Click(object sender, EventArgs e) { monthlySalaryLabel.Text = "$" + salaryInput.Text; } private void addExpense() { Label lbl = new Label(); lbl.Name = "expense" + i.ToString(); lbl.Text = expenseNameInput.Text; lbl.Location = new Point(15, 15); this.Controls.Add(lbl); expenseNameInput.Text = String.Empty; } protected void addExpenseButton_Click(object sender, EventArgs e) { addExpense(); } } } ,但我不明白为什么。

{{1}}

2 个答案:

答案 0 :(得分:2)

asp:Label属于名称空间System.Web.UI.WebControls,在该类中没有名为Name的属性。要唯一标识该控件,您应使用ID代替Name,因此代码将为:

Label lbl = new Label();
lbl.ID= "expense" + i.ToString(); // Change is here
lbl.Text = expenseNameInput.Text;  
this.Controls.Add(lbl);

为了修复控件在容器中的位置,我认为更好的选择是使用样式。尝试这样的事情:

lbl.Style.Add("width","40px");
lbl.Style.Add("top", "10px");

答案 1 :(得分:0)

在标签类中没有名为Name

的属性