ASP.NET 数组列表、按钮单击事件,单击按钮时从数组列表中停用字符串值

本文关键字:单击 按钮 列表 数组 字符串 事件 NET ASP | 更新日期: 2023-09-27 17:56:53

我正在创建一个网站,并希望制作一个"抽认卡"页面,显示有关网站所基于的主题(音乐)的有趣事实。

我创建了一个数组列表,并添加了一些"事实"作为字符串值。

我的页面上有一个文本框,我有一个按钮,我想在每次单击文本框时显示不同的事实。

最好的方法是什么?

抱歉,我是这里的新手,刚刚掌握 ASP.NET 和 VS。

编辑

谢谢,我现在已经将其更改为列表。现在我已经在该列表中存储了多个字符串值,并设置了一个名为"abc"的字符串字段(如下所示);

public partial class _Default : System.Web.UI.Page
{
    private String abc;
    public void do9()
    {
        List<String> list = new List<String>();
        list.Add("aaa");
        list.Add("bbb");
        list.Add("ccc");
        list.Add("ddd");
        list.Add("eee");
        foreach (String prime in list) // Loop through List with foreach
        {
            abc = prime;
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        do9();
        TextBox1.Text = abc;
    }
}

现在,如何在按钮单击事件时返回不同的列表值?目前它只返回"eee"。假设我希望每次单击按钮时它都返回"aaa"等。

再次感谢!

ASP.NET 数组列表、按钮单击事件,单击按钮时从数组列表中停用字符串值

Arraylist 在 .NET 2.0 中恢复的泛型已经过时了。您应该考虑改用List<string>。我还建议使用像费舍尔-耶茨洗牌这样的洗牌算法。

我可能根本不会做这个服务器端,但更有可能在 JavaScript 中。这是 JavaScript 中的 Fisher-Yates shuffle。

编辑

这是从列表中获取随机元素的一种方法。

private static List<string> QuoteArray = new List<string> 
    {
        "All generalizations are false, including this one.",
        "Be careful about reading health books. You may die of a misprint.",
        "If you tell the truth, you don't have to remember anything.",
        "It usually takes me more than three weeks to prepare a good impromptu speech",
        "Water, taken in moderation, cannot hurt anybody.",
        "When I was younger I could remember anything, whether it happened or not."
    };
private static int LastQuoteIndex;

在某处的 som 类中:

int i = 0;
var rnd = new Random();
do
{
    i = rnd.Next(QuoteArray.Count);
}
while (i == LastQuoteIndex);
LastQuoteIndex = i;
TextBox1.Text = QuoteArray[i];