各ページに質問があるアプリケーションがあります。現在、OnClick が以下の関数を指すボタンがありますが、ランダムなページを選択したいと思います。10 個の .aspx ページがあります。これどうやってするの?
protected void newWindow(object sender, EventArgs e)
{
Response.Redirect("Question2.aspx");
}
protected void newWindow(object sender, EventArgs e)
{
int next = new Random().Next( 10 ) + 1; // 1..10
Response.Redirect(string.Format( "Question{0}.aspx", next ));
}
public int GetRandomNumberBewteen1And10()
{
var r = new Random();
return r.Next(1, 11);
}
可能なページのリストを配列に入れ、Random() メソッドを使用してその配列からランダムなインデックスを引き出す必要があります。
List<string> pages = new List<string>({
"Question2.aspx",
"Question3.aspx",
// etc.
});
Random r = new Random();
int randomIdx =r.Next(0, pages.Count-1);
Response.Redirect(pages[randomIdx];