2014-01-30 6 views
0

Я делаю игру с 6 динамическими кнопками как «btn» в верхнем ряду и другими 6-дюймовыми кнопками лампы на ряду с буквой. Игрок нажимает кнопку верхнего ряда и текст отображается в нижней строке после нажатия на нее. Как только все кнопки лампы заполнены текстом, я хочу, чтобы отображалась фотография.Как создать кнопку отправки после заполнения всех текстовых полей?

Я попытался сделать и для foreach для своих кнопок лампы, и это не помогло. Поможи Плесе!

вот код:

public partial class Game : System.Web.UI.Page 
{ 

    protected void Page_Init(object sender, EventArgs e) 
    { 
     for (int i = 0; i < 6; i++) 
     { 
      Button btnLamp = new Button(); 
      btnLamp.ID = "btnLamp" + i.ToString(); 
      btnLamp.Click += btnLamp_Click; 
      this.Panel1.Controls.Add(btnLamp); 
     } 

     LiteralControl ltBreak = new LiteralControl(); 
     ltBreak.Text = "<br/><br/>"; 
     Panel1.Controls.Add(ltBreak); 
     Panel1.DataBind(); 

     for (int i = 0; i < 6; i++) 
     { 
      Button btn = new Button(); 
      btn.ID = "btn" + i.ToString(); 
      btn.Text = "btn" + i.ToString(); 
      btn.Click += btn_Click; 
      this.Panel2.Controls.Add(btn); 
     } 
     Panel2.DataBind(); 
    }   

    void btn_Click(object sender, EventArgs e) 
    { 
     Button clickedbutton = (Button)sender; 
     string btn_cliked = clickedbutton.ID; 


     for (int i = 0; i <5 ; i++) 
     { 
      ((Button)FindControl(("btn" + i.ToString()))).BackColor = System.Drawing.Color.LightSteelBlue; 
     } 
     clickedbutton.BackColor = System.Drawing.Color.Beige; 

     Session["clickedbutton"] = clickedbutton; 
    }   

    void btnLamp_Click(object sender, EventArgs e) 
    { 
     Button clickedbutton = (Button)sender; 
     string btnLamp_cliked = clickedbutton.ID; 


     ((Button)FindControl(((Button)Session["clickedbutton"]).ID)).Enabled = false; 


     for (int i = 0; i < 5; i++) 
     { 
      if (((Button)Session["clickedbutton"]).Text.ToString() == ((Button)FindControl("btnLamp" + i)).Text) 
      { 
       ((Button)FindControl("btnLamp" + i)).Text = ""; 
      } 
     } 


     clickedbutton.Text = ((Button)Session["clickedbutton"]).Text.ToString(); 

    } 

ответ

3

Такого рода вещи лучше всего обрабатываются на стороне клиента в JavaScript. Прикрепите обработчик к событию onchange ваших входов и вычислите его внутри, если все входы имеют значение. Затем покажите свою кнопку на странице (должно присутствовать, но скрыто - отображение: нет).

Если ни одно из вышеизложенного не имеет смысла, я предлагаю провести некоторое исследование по веб-программированию. Выясните назначение кода сервера (C# в вашем случае) по сравнению с html и javascript. Затем вернитесь с вопросами, если необходимо