显示数组中的值 [英] to show the values from an array

查看:80
本文介绍了显示数组中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有五个下拉菜单.货币,样式,交易,风险和先前.和三个标签

我要做的是从下拉菜单中选择货币,样式,交易和风险,然后单击按钮.它会从货币中复制所选项目,并将其副本保存在上一个下拉列表中.还可以将模式,交易和风险保存在不同的数组中.当我从上一个下拉列表中选择项目时,它会显示与Lables中该特定项目相关的模式,交易和风险.但是当我这样做时,所有标签仅显示来自数组的风险值.有人能告诉我是怎么回事.代码如下.

i have five dropdowns. currency,pattern,trade, risk and previous. and three lable

what i do is select the currency,pattern,trade and risk from the dropdowns and click on button. it coppies the selected item from currency and save its copy in previous dropdown. also saves the pattern,trade, and risk in differnt arrays. and when i select and item from previous dropdown so it show the pattern,trade, and risk related to that particular item in the lables.but when i do so all the labels show only the values of risk from the arrays. can somebody tells me what is wrong. the code is given below.

string[] _strArr;
   string[] pattern;
   string[] trade;
   string[] risk;


   protected void Page_Load(object sender, EventArgs e)
   {
       if (!IsPostBack)
       {
           // DropDownList 1 load code here...
       }
       if (ViewState["stringArr"] == null)
       {
           pattern = new string[Currency.Items.Count];
           trade = new string[Currency.Items.Count];
           risk = new string[Currency.Items.Count];
       }
       else
       {
           pattern = (string[])ViewState["stringArr"];
           trade = (string[])ViewState["stringArr"];
           risk = (string[])ViewState["stringArr"];
       }

   }
   protected void Button1_Click(object sender, EventArgs e)
   {
       if ((Currency.SelectedValue != "") && (!previous.Items.Contains(Currency.SelectedItem)))
       {
           previous.SelectedIndex = -1;
           previous.Items.Add(Currency.SelectedItem);

           pattern[previous.SelectedIndex] = Pattern.SelectedItem.ToString();
           trade[previous.SelectedIndex] = Trade.SelectedItem.ToString();
           risk[previous.SelectedIndex] = Risk.SelectedItem.ToString();


           ViewState["stringArr"] = pattern;
           ViewState["stringArr"] = trade;
           ViewState["stringArr"] = risk;
       }

   }
   protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
   {


       label1.Text = pattern[previous.SelectedIndex];
       labe2.Text = trade[previous.SelectedIndex];
       label3.Text = trade[previous.SelectedIndex];

   }



在此先感谢



thanks in advance

推荐答案

这是您的问题-
Here lies your problem -
ViewState["stringArr"] = pattern;
ViewState["stringArr"] = trade;
ViewState["stringArr"] = risk;


您正在为同一个viewstart变量分配三个值,一个接一个.
第三个将保持分配状态,另外两个将被替换.
使用三个不同的状态变量


You are assigning the same viewstart variable three values, one after another.
The third one will remain assigned and the other two would be replaced.
Use three different state variables

ViewState["stringArr1"] = pattern;
ViewState["stringArr2"] = trade;
ViewState["stringArr3"] = risk;


Page_Load中的else条件下,将代码更改为


In the else condition in Page_Load, change code to

else
{
pattern = (string[])ViewState["stringArr1"];
trade = (string[])ViewState["stringArr2"];
risk = (string[])ViewState["stringArr3"];
}


这篇关于显示数组中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆