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"等。
再次感谢!
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];