Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как определить какая кнопка была нажата, если не задан "id"? / 3 сообщений из 3, страница 1 из 1
17.09.2006, 22:26
    #33992828
Solomka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить какая кнопка была нажата, если не задан "id"?
// ASP.NET 1.1; Table; Button

Таблица заполняется кнопками построчно следующим образом:for( int i=0; i<TotalCategories; i++)
{
    //создаем экземпляры строки и ячейки для таблицы
    TableRow tRow = new TableRow();
    TableCell tCell = new TableCell();
    //создаем LiteralControl для того чтобы в дальнейшем добавить в него кнопку
    tCell.Controls.Add( new LiteralControl());
    
    //создаем кнопку
System.Web.UI.WebControls.Button CellButton = new Button();
    //добавляем событие Щелчка для кнопки
    CellButton.Click += new EventHandler(CellButton_Click);
    
    //следующие строки задают оформление кнопки
    CellButton.Text = ArrayCategories[i];
    CellButton.Font.Name = "Arial";
    CellButton.Font.Size = 11;
    CellButton.Font.Italic = true;
    CellButton.Font.Bold = true;
    CellButton.Width = 210;
    tCell.Controls.Add(CellButton);
    tCell.BackColor=Color.Transparent;
    //добавляем ячейку и строку в таблицу
    tRow.Cells.Add(tCell);
    Table1.Rows.Add(tRow);
}

Обработчик события щелчка по кнопке выглядит следующим образом:private void CellButton_Click(object sender, EventArgs e)
{
    string NameClickedButton = "";
}


Как можно определить какую именно кнопку нажал пользователь в обработчике события?
Или нужно что-то поменять при создании кнопок?
Как взять текст от кнопки, которая была нажата?
...
Рейтинг: 0 / 0
17.09.2006, 23:45
    #33992860
Mr_White
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить какая кнопка была нажата, если не задан "id"?
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{ //создаем экземпляры строки и ячейки для таблицы
TableRow tRow = new TableRow();
TableCell tCell = new TableCell();

//создаем LiteralControl для того чтобы в дальнейшем добавить в него кнопку
tCell.Controls.Add(new LiteralControl());

//создаем кнопку
System.Web.UI.WebControls.Button CellButton = new Button();
#ff0000>CellButton.ID = "Button_" + i.ToString();

//добавляем событие Щелчка для кнопки
CellButton.Click += new EventHandler(CellButton_Click);

//следующие строки задают оформление кнопки
CellButton.Text = "кнопка " + i.ToString();
CellButton.Font.Name = "Arial";
CellButton.Font.Size = 11;
CellButton.Font.Italic = true;
CellButton.Font.Bold = true;
CellButton.Width = 210;
tCell.Controls.Add(CellButton);
tCell.BackColor = Color.Transparent;
//добавляем ячейку и строку в таблицу
tRow.Cells.Add(tCell);
Table1.Rows.Add(tRow);
}



}
private void CellButton_Click(object sender, EventArgs e)
{
Label1.Text = "была нажата кнопка - " + #ff0000>((Button)sender).ID.ToString() + "<br/> текст на кнопке - " + ((Button)sender).Text;
}
...
Рейтинг: 0 / 0
18.09.2006, 09:27
    #33993074
Raimon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить какая кнопка была нажата, если не задан "id"?
лучше присвоить свойству Tag кнопки более полезную информацию, например бизнес объект, т.к. скорее всего имя кнопки будет использоватся чтобы найти этот бизнес объект
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как определить какая кнопка была нажата, если не задан "id"? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]