Получение состояния радиобокса между постбэками - PullRequest
0 голосов
/ 30 июня 2011
I have got this code:

public partial class Default2 : System.Web.UI.Page
{
    public bool  MyProperty { get; set; }
    Button newBTN;
    GenerateMe gm;
    protected void Page_Load(object sender, EventArgs e)
    {

        newBTN = new Button();
        newBTN.Text = "Button 1";


        gm = new GenerateMe(PlaceHolder1, newBTN);
        gm.ExecuteAll();       
        Response.Write(gm.ResponseWrite());

    }


}

class GenerateMe
{
    PlaceHolder holder;
    Button button;
    RadioButton b = new RadioButton();
    string buttonPressed;

    public GenerateMe(PlaceHolder h, Button b)
    {
        holder = h;
        button = b;
    }

    public void ExecuteAll()
    {

        Table t = new Table();
        TableRow tr = new TableRow();
        TableCell tc = new TableCell();
        tc.Controls.Add(button);
        tr.Cells.Add(tc);
        t.Rows.Add(tr);
        holder.Controls.Add(t);
        holder.Controls.Add(b);
        if (b.Checked)//This is always false
        {
            buttonPressed = b.Checked.ToString();
        }

    }

    public string ResponseWrite()
    {
        return buttonPressed;
    }

}

Я вижу, что радиобокс проверен .. Но его свойство selected все время ложно между ответными записями.Как получить состояние радиобокса, если оно было нажато ..

пс.Я не хочу использовать события радиобоксов .. Я хочу получить свойство, если оно было нажато после обратной передачи

1 Ответ

1 голос
/ 30 июня 2011

Сохранить переменную в переменной сеанса.

Session["buttonPressed"]="checked";

на другой странице, вызвать ее как:

string check=Session["buttonPressed"].ToString();

РЕДАКТИРОВАТЬ:

protected void Page_Load(object sender, EventArgs e)
    {
       if (!Page.IsPostBack)
       {   

        newBTN = new Button();
        newBTN.Text = "Button 1";


        gm = new GenerateMe(PlaceHolder1, newBTN);
        gm.ExecuteAll();       
        Response.Write(gm.ResponseWrite());
       }
    }

Использовать событие PreInit длясоздать элементы управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...