0

大家早

我一直想知道单击 后如何将变量从一个<asp:ListItem>(参见)传递到另一个,因为由于. 为了说明我的观点:asp:DropDownList<asp:Button OnClick>auto-refresh

在 Page.aspx 上

<asp:DropDownList ID="test" runat="server" style="font-size:14px;text-align:center;border-radius:0; 
CssClass="ddl">                              
<asp:ListItem>&nbsp;&nbsp;&nbsp;&nbsp;checkfruit</asp:ListItem>
<asp:ListItem>;&nbsp;&nbsp;&nbsp;&nbsp;verify</asp:ListItem>
<asp:ListItem>bsp;&nbsp;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;/>

关于代码背后.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;
}
}

目的包括在依次单击这些选项后传递pfromverify到的值,从而导致in 。问题是由于固有的 to切换到时重新初始化,而从 的设置并没有改善这个问题。理想情况下,我想通过重新定义in来避免重复代码。因此,您的反馈将不胜感激。testcheckc = 9testcheckp0verifytestcheckauto-refreshtest_Clickreturn="false"page.aspxdtestcheck

最好的,

4

1 回答 1

1

要从 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;
    }
}
于 2020-07-22T13:45:01.617 回答