单击 <asp:button> 后,将变量(例如数组)从一个 <asp:ListItem> 传递到另一个(参见 <asp:DropDownList>)
Pass variables (e.g. array) from one <asp:ListItem> to another one (cf.<asp:DropDownList>) after clicking on <asp:button>
大家早上好
我一直想知道如何在单击 <asp:Button OnClick>
后将变量从一个 <asp:ListItem>
(参见 asp:DropDownList
)传递到另一个,因为由于 auto-refresh
。为了说明我的观点:
上Page.aspx
<asp:DropDownList ID="test" runat="server" style="font-size:14px;text-align:center;border-radius:0;
CssClass="ddl">
<asp:ListItem> checkfruit</asp:ListItem>
<asp:ListItem>; verify</asp:ListItem>
<asp:ListItem>bsp; testcheck</asp:ListItem>
</asp:DropDownList>
<asp:Button OnClick="test_Click" return="false" ID="veg" Text="Submit" runat="server" style="margin-
left:30px; border-radius:0; width:90px;/>
代码Behind.cs
```public double[] pte = new double[3]; //
protected void test_Click(object sender, EventArgs e)
{
string a = test.SelectedItem.Value;
switch(a)
{
case "verify":
double[] d = new double[3];
d = [8,2,1];
pte = d;
break;
case "testcheck":
double c;
c = pte[0] + 1;
break;
}
}
目的是在依次单击这些选项后将 p
的值从 verify
传递到 testcheck
,从而在 testcheck
中生成 c = 9
。问题是,由于 test_Click
固有的 auto-refresh
,当一个人从 verify
切换到 testcheck
时,p
被重新初始化为 0
,并且设置 return="false"
从 page.aspx
至今没有改善这件事。理想情况下,我想通过在 testcheck
中重新定义 d
来避免重复代码。因此,我们将不胜感激您的反馈。
最佳,
要从 PostBack 中保留在 pte 中设置的值,请将其保存到 ViewState
protected void test_Click(object sender, EventArgs e)
{
string a = test.SelectedItem.Value;
switch (a)
{
case "verify":
double[] d = new double[3] { 8, 2, 1 };
//d = [8, 2, 1];
pte = d;
ViewState["pte"] = pte; // Save values
break;
case "testcheck":
double c;
pte = ViewState["pte"] as double[]; // Read values
c = pte[0] + 1;
break;
}
}
大家早上好
我一直想知道如何在单击 <asp:Button OnClick>
后将变量从一个 <asp:ListItem>
(参见 asp:DropDownList
)传递到另一个,因为由于 auto-refresh
。为了说明我的观点:
上Page.aspx
<asp:DropDownList ID="test" runat="server" style="font-size:14px;text-align:center;border-radius:0;
CssClass="ddl">
<asp:ListItem> checkfruit</asp:ListItem>
<asp:ListItem>; verify</asp:ListItem>
<asp:ListItem>bsp; testcheck</asp:ListItem>
</asp:DropDownList>
<asp:Button OnClick="test_Click" return="false" ID="veg" Text="Submit" runat="server" style="margin-
left:30px; border-radius:0; width:90px;/>
代码Behind.cs
```public double[] pte = new double[3]; //
protected void test_Click(object sender, EventArgs e)
{
string a = test.SelectedItem.Value;
switch(a)
{
case "verify":
double[] d = new double[3];
d = [8,2,1];
pte = d;
break;
case "testcheck":
double c;
c = pte[0] + 1;
break;
}
}
目的是在依次单击这些选项后将 p
的值从 verify
传递到 testcheck
,从而在 testcheck
中生成 c = 9
。问题是,由于 test_Click
固有的 auto-refresh
,当一个人从 verify
切换到 testcheck
时,p
被重新初始化为 0
,并且设置 return="false"
从 page.aspx
至今没有改善这件事。理想情况下,我想通过在 testcheck
中重新定义 d
来避免重复代码。因此,我们将不胜感激您的反馈。
最佳,
要从 PostBack 中保留在 pte 中设置的值,请将其保存到 ViewState
protected void test_Click(object sender, EventArgs e)
{
string a = test.SelectedItem.Value;
switch (a)
{
case "verify":
double[] d = new double[3] { 8, 2, 1 };
//d = [8, 2, 1];
pte = d;
ViewState["pte"] = pte; // Save values
break;
case "testcheck":
double c;
pte = ViewState["pte"] as double[]; // Read values
c = pte[0] + 1;
break;
}
}