gpt4 book ai didi

c# - 在 asp.net 网页上显示随机报价

转载 作者:行者123 更新时间:2023-11-30 13:34:46 25 4
gpt4 key购买 nike

我正在处理一个使用母版页的 ASP.NET (C#) Web 项目。

我正在寻找一种在每次加载页面时显示随机客户报价的简单方法。

因为这是一个相当简单的 Web 项目,所以我不想将引号存储在数据库中。目前该项目不需要数据库连接,所以我希望尽可能简单——也许将引号存储在 XML 文件中,然后使用 XmlTextReader 读取文件?

如有任何建议,我们将不胜感激。

谢谢

编辑:我需要存储并提取报价和报价的客户名称。

最佳答案

使用 LINQ 可以像这样简单:

XElement xml = new XElement("quotes",
new XElement("quote",
new XElement("customer", "Customer #1"),
new XElement("text", "Quote #1")),
new XElement("quote",
new XElement("customer", "Customer #2"),
new XElement("text", "Quote #2")),
new XElement("quote",
new XElement("customer", "Customer #3"),
new XElement("text", "Quote #3")),
new XElement("quote",
new XElement("customer", "Customer #4"),
new XElement("text", "Quote #4")),
new XElement("quote",
new XElement("customer", "Customer #5"),
new XElement("text", "Quote #5"))
);

//XElement xml = XElement.Load("filename"); // use file instead of above
var result = xml.Elements()
.OrderBy(r => System.Guid.NewGuid())
.Select(element => new {
Customer = element.Element("customer").Value,
Quote = element.Element("text").Value
})
.First();

Console.WriteLine("{0} : {1}", result.Customer, result.Quote);

您的文件结构如下:

<quotes>
<quote>
<customer>Customer #1</customer>
<text>Quote #1</text>
</quote>
<quote>
<customer>Customer #2</customer>
<text>Quote #2</text>
</quote>
<quote>
<customer>Customer #3</customer>
<text>Quote #3</text>
</quote>
<quote>
<customer>Customer #4</customer>
<text>Quote #4</text>
</quote>
<quote>
<customer>Customer #5</customer>
<text>Quote #5</text>
</quote>
</quotes>

您将使用 XElement xml = XElement.Load("filename");

加载它

对于上面的xml变量,之前的代码使用方式相同(注释掉的代码)。

Guid 有效,但您也可以在类中定义一个静态随机变量:public static Random rand = new Random(); 然后将代码更改为:

int count = xml.Elements().Count();
var randomQuote = xml.Elements()
.OrderBy(i => rand.Next(0, count))
.Select(element => new {
Customer = element.Element("customer").Value,
Quote = element.Element("text").Value
})
.First();

Console.WriteLine("{0} : {1}", result.Customer, result.Quote);

关于c# - 在 asp.net 网页上显示随机报价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2142589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com