C# 从一个传递变量(如数组)<;asp:ListItem>;单击<;后转到另一个(参见<;asp:DropDownList>;);asp:按钮>;
早上好 我一直想知道如何在点击C# 从一个传递变量(如数组)<;asp:ListItem>;单击<;后转到另一个(参见<;asp:DropDownList>;);asp:按钮>;,c#,asp.net,dropdown,aspbutton,C#,Asp.net,Dropdown,Aspbutton,早上好 我一直想知道如何在点击后将变量从一个(参见asp:DropDownList)传递到另一个,因为自动刷新会清除数据。为了说明我的观点: 第页的aspx <asp:DropDownList ID="test" runat="server" style="font-size:14px;text-align:center;border-radius:0; CssClass="ddl">
后将变量从一个
(参见asp:DropDownList
)传递到另一个,因为自动刷新
会清除数据。为了说明我的观点:
第页的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;/>
目标包括在顺序单击这些选项后,将p
的值从verify
传递到testcheck
,从而在testcheck
中得到c=9
。问题是,当一个人从verify
切换到testcheck
时,p
被重新初始化为0
,这是由于test\u Click
固有的自动刷新,并且从页面设置return=“false”
。aspx
没有改善这一问题。理想情况下,我希望通过在testcheck
中重新定义d
来避免重复代码。因此,我们非常感谢您的反馈
最好,要保留回发时在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;
}
}
非常感谢聪明的解决方法
,因为我一直在探索涉及javascript
、ajax
、c
的其他方法。最好的
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;
}
}