首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中更改下拉菜单项时如何在文本框中插入内容

在C#中更改下拉菜单项时如何在文本框中插入内容
EN

Stack Overflow用户
提问于 2014-08-23 18:01:31
回答 2查看 81关注 0票数 0

在下面的代码中,我希望在文本框Invoiceno中插入一个对应于下拉菜单TotalAmount的值。另外,如果下拉菜单ChequeNumber的值是支票,我希望启用文本框PaymentMode。但是,只有在我按下提交按钮之后,这些值才会出现在文本框中。我做错什么了?

代码语言:javascript
运行
复制
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.UI;
  using System.Web.UI.WebControls;

  namespace OrderManagementSystem
  {
  public partial class MakePayment : System.Web.UI.Page
  {
    Dictionary<int, int> InvoiceAmount = new Dictionary<int, int>();



    protected void Page_Load(object sender, EventArgs e)
    {
        ChequeNumber.Enabled = false;

    }

    protected void InvoiceNo_SelectedIndexChanged(object sender, EventArgs e)
    {
        InvoiceAmount.Add(1111, 100000);
        InvoiceAmount.Add(2222, 200000);
        InvoiceAmount.Add(3333, 300000);
        InvoiceAmount.Add(4444, 400000);


        int InvoiceValue = Convert.ToInt32(InvoiceNo.SelectedValue);
        foreach (KeyValuePair<int, int> item in InvoiceAmount)
        {
            if (InvoiceValue == item.Key)
            {
                TotalAmount.Text = Convert.ToString(item.Value);
            }
        }
    }

    protected void PaymentMode_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (PaymentMode.SelectedValue == "Cheque")
        {

            ChequeNumber.Enabled = true;

            if (ChequeNumber.Text=="")
            {

            }
        }

    }

    protected void TotalAmount_TextChanged(object sender, EventArgs e)
    {

    }
  }
 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-23 18:33:14

在AutoPostBack=声明中添加DropDowlList“true”。当值被更改时,这将使页面发布到服务器。您可以考虑添加UpdatePanel以通过AJAX进行回发。

票数 2
EN

Stack Overflow用户

发布于 2014-08-25 12:07:05

1>在DropDownList的.aspx页面中添加AutoPostBack="true“。

2>第二个问题在于页面加载函数

代码语言:javascript
运行
复制
protected void Page_Load(object sender, EventArgs e)  
{    
     ChequeNumber.Enabled = false;  
}

每次加载页面时都禁用文本框ChequeNumber。要解决此问题,需要将ChequeNumber状态保持在ViewState["xyz"]中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25464829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档