大家好(我是个初学者,请放心),我有这段代码可以搜索我的数据库并显示标题/艺术家,并且效果很好。我需要做一个按钮,单击该按钮会从我的数据库中弹出一个随机ID。我环顾四周,但找不到有用的东西。试图提出一个lamda表达式之类的东西... 谢谢
控制器
public ActionResult Play(string searchTitle, string searchArtist, string shuffle)
{
var media = from s in db.UploadTables select s;
if (!string.IsNullOrEmpty(searchTitle))
{
media = media.Where(m => m.MediaTitle.Contains(searchTitle));
}
if (!string.IsNullOrEmpty(searchArtist))
{
media = media.Where(m => m.MediaArtist.Contains(searchArtist));
}
return View(media);
}
查看
@using (Html.BeginForm())
{
<p>
Song Name: @Html.TextBox("searchTitle")
<input type="submit" value="Search" />
Artist: @Html.TextBox("searchArtist")
<input type="submit" value="Search" />
@Html.TextBox("shuffle")
<input type="submit" value="Search" />
</p>
<hr />
}
答案 0 :(得分:0)
Random rand = new Random();
int total = db.UploadTables.Count();
var randomId = db.UploadTables.Skip(rand.Next(total)).First().Id;
Random.Next(Int32 maxValue)
将获得一个介于0
和maxValue-1
之间的数字。
IQueryable<TSource>.Skip(this IQueryable<TSource>, int count)
将跳过count
个条目。
然后,您取出其余条目的First()
和 tadaa ,可以访问其Id
字段。
很显然,这只是一种实现方式,而且正如其他人所说的那样,有很多方式可以做到这一点。