C# ASP.NET错误消息System.Web.UI.Controls

C# ASP.NET错误消息System.Web.UI.Controls,c#,asp.net,.net,C#,Asp.net,.net,为什么我在加载页面的my default.aspx.cs中收到此错误消息 错误1“System.Web.UI.WebControls.TextBox”不包含“Items”的定义,并且找不到接受“System.Web.UI.WebControls.TextBox”类型的第一个参数的扩展方法“Items”(是否缺少using指令或程序集引用?)F:\ASP.NET\exerces\xex02quote\Default.aspx.cs 16 30 xex02quote 我正在做一个简单的报价计算器 p

为什么我在加载页面的my default.aspx.cs中收到此错误消息

错误1“System.Web.UI.WebControls.TextBox”不包含“Items”的定义,并且找不到接受“System.Web.UI.WebControls.TextBox”类型的第一个参数的扩展方法“Items”(是否缺少using指令或程序集引用?)F:\ASP.NET\exerces\xex02quote\Default.aspx.cs 16 30 xex02quote

我正在做一个简单的报价计算器

protected void Page_Load(object sender, EventArgs e)
{
    UnobtrusiveValidationMode = System.Web.UI.UnobtrusiveValidationMode.None;
    if (!IsPostBack)
        for (int i = 50; i <= 500; i += 50)
        {
            txtSalePrice.Items.Add(i.ToString());
        }
}

protected void btnCalculate_Click(object sender, EventArgs e)
{
    if (IsValid)
    {
        decimal salePrice = Convert.ToDecimal(txtDiscountPercent.Text);
        decimal discountPercent  = Convert.ToDecimal(txtDiscountPercent.Text);
        decimal discountAmount = Convert.ToInt32(lblDiscountAmount.Text);

        decimal dAmount = salePrice-(salePrice*discountPercent);
        lblDiscountAmount.Text= discountAmount.ToString("c");

        lblTotalPrice.Text = (salePrice - discountAmount).ToString("c");
    }
}
受保护的无效页面加载(对象发送方,事件参数e)
{
UnobtrusiveValidationMode=System.Web.UI.UnobtrusiveValidationMode.None;
如果(!IsPostBack)

for(int i=50;i
txtSalePrice
是一个文本框。它没有名为
Items
的属性。在这种情况下,您应该使用列表框或下拉列表。

txtSalePrice
是一个
文本框类型(
System.Web.UI.WebControls.TextBox
)。您无法将
项添加到
文本框中。请尝试改用
列表框

或者使用多行文本框并从

txtSalePrice.Items.Add(i.ToString());


控件txtSalePrice被作为组合框访问,但是它被定义为文本框。教师要求用户的输入是文本框。除了.Items.Add之外,还有其他选项吗?在您的aspx页面中可以有文本框和下拉列表。用户可以在文本框中提供输入,下拉列表可以包含场景中所有可能的项目。@GrantWiney要求用户输入销售价格,然后提示用户输入折扣百分比。输出为用户提供折扣金额和折扣后的总价。他的说明没有详细说明如何保存用户输入的值。我尝试了您的解决方案,效果良好。您能告诉我为什么这样做吗?是的,正如我所解释的,您不能将项添加到不受支持的textBox控件。但是,您可以使用ListBox控件来执行此操作。否则,您可以只使用换行符(\n)附加到textBox的Text属性。您必须使文本框的多行属性具有多行。是的,这确实解决了问题。它不允许我投票。那么,无需担心。很高兴提供帮助!干杯
txtSalePrice.Text = "\n" + i.ToString();