Флажок ASP.Net в C # - PullRequest
       5

Флажок ASP.Net в C #

1 голос
/ 24 декабря 2011

Хорошо, поэтому я начинаю программировать в ASP.Net с C #.Я пытаюсь очень простая процедура, но она очень глючит.Итак, у меня есть следующий код ASP:

<asp:Button ID="Button1" runat="server" Text="Show Numbers" onclick="Button1_Click1" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:CheckBox ID="CheckBox1" runat="server" 
            oncheckedchanged="CheckBox1_CheckedChanged" />

У меня есть следующий код C #:

    int i = 0;
    List<int> Chosen = new List<int>();

    public void Page_Load(object sender, EventArgs e)
    {


    }
    public void Button1_Click1(object sender, EventArgs e)
    {
        if (i == 0)
        {
            TextBox1.Text = "Nothing here!";
        }
        else if (i == 1)
        {
            TextBox1.Text = Chosen[0].ToString();
        }
    }
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (CheckBox1.Checked == true)
        {
            Chosen.Add(1);
            i++;
            CheckBox1.Checked = true;
        }
        else if (CheckBox1.Checked == false)
        {
            Chosen.Remove(1);
            i--;
            CheckBox1.Checked = false;
        }
    }

Цель кода - установить флажок на экране.Если он отмечен, я хочу добавить номер 1 в свой список (Выбранный) также, когда я нажимаю кнопку, я хочу, чтобы текстовое поле отображало номер 1. Если флажок снят, я хочу, чтобы номер был удален из списка икогда я нажимаю кнопку, я хочу, чтобы она отображала «Ничего здесь!».

Проблема в том, что иногда это работает, а иногда нет.Например, если я нажимаю на поле, то кнопка работает.Затем, когда я нажимаю кнопку снова, он говорит: «Ничего здесь!»это должно остаться как 1.

1 Ответ

4 голосов
/ 24 декабря 2011

Вы должны установить AutoPostBack=true для разметки элемента управления CheckBox, а также сохранить этот список в Session dictinary.

List<int> Chosen;

public void Page_Load(object sender, EventArgs e)
{
  if(Sesstion["Chosen"]==null)
    {
      Session["Chosen"]=new List<int>();
    }
  Chosen = (List<int>)Session["Chosen"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...