私のWebサイトでは、1つ(ランダム)のみが有効になっている7つのImageButtonを生成しています。そのボタンに対して、特定のキーの組み合わせが押されたときにのみトリガーされるクリック イベントを生成したいと考えています (例: E+Click を押したとき)。
助けてくれてありがとう。
protected void Page_Load(object sender, EventArgs e)
{
//Generates a <int, string> dictionary
LoginHelper.CreateDictionary(images);
//'buttons' is an int list
while (buttons.Count < 7)
{
//generates a random number from 1 to 7
int number = LoginHelper.GenerateNumber();
if (buttons.Contains(number) == false)
{
buttons.Add(number);
ImageButton btn = new ImageButton();
btn.CssClass = "loginButtons";
btn.ImageUrl = (from x in images
where x.Key == number
select x.Value).First();
//gets the link string according to the randomized number
btn.PostBackUrl = LoginHelper.GetLink(number);
if (btn.PostBackUrl == string.Empty)
{
btn.Enabled = false;
}
btn.Click += new ImageClickEventHandler(btn_Click);
footer.Controls.Add(btn);
}
}
}
//The event is not triggered
void btn_Click(object sender, ImageClickEventArgs e)
{
ImageButton button = sender as ImageButton;
ConsoleKeyInfo cki = Console.ReadKey();
if (cki.Key == ConsoleKey.E)
{
button.PostBackUrl = "~/about.aspx";
}
}