Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Есть WebPart, на нём контрол, который содержыт CheckBox. Почему не срабатывает обработчик события CheckedChanged? CheckBox ch = new CheckBox ch.CheckedChanged += ... ...ch_Checked(...) { // Не срабатывает :-S } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 15:14 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
AutoPostBack is TRUE?---------------------------------------- Knowledge is P...O...w...E...R! My site ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 15:23 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Аноним, Вы писали: А>Есть WebPart, на нём контрол, который содержыт CheckBox. А>Почему не срабатывает обработчик события CheckedChanged? А> А>CheckBox ch = new CheckBox А>ch.CheckedChanged += ... А>...ch_Checked(...) А>{ А>// Не срабатывает :-S А>} А> Нужно установить его свойство: AutoPostBack=true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 17:10 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, i_te3s, Вы писали: НЕ ПОМОГАЕТ :shuffle: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 18:22 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, <Аноним>, Вы писали: А>Почему не срабатывает обработчик события CheckedChanged? AutoPostBack у чекбокса стоит? А вообще, мало информации. Показывайте код.Мы сделали все как нужно и теперь не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2006, 18:46 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: >Показывайте код. Этот контрол кладётся на другой контрол, который в свою очередь кладётся на WebPart (под словом кладётся на контрол нужно понимать Controls.Add(ctrl), ctrl кладётся на контрол, которому принадлежит свойство Controls) using System; using System.Drawing; using System.Collections.Generic; using System.ComponentModel; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; namespace ShapeDotNet.GIS.Controls { [DefaultProperty("Text")] [ToolboxData("<{0}:GpsObjectsGrid runat=server></{0}:GpsObjectsGrid>")] public class GpsObjectsGrid : WebControl { public GpsObjectsGrid(GpsObjectRows gpsObjectRows) { Rows = gpsObjectRows; } [Bindable(true)] [Category("Appearance")] [DefaultValue("")] [Localizable(true)] public GpsObjectRows Rows { get { GpsObjectRows gpsObjectRows = (GpsObjectRows)ViewState["GpsObjectRows"]; return gpsObjectRows; } set { ViewState["GpsObjectRows"] = value; } } protected override void CreateChildControls() { Table table = new Table(); table.GridLines = GridLines.Both; TableRow tableRow = new TableRow(); TableCell visibleTableCellHeader = new TableCell(); visibleTableCellHeader.HorizontalAlign = HorizontalAlign.Center; visibleTableCellHeader.Controls.Add(new LiteralControl("Видимость")); tableRow.Cells.Add(visibleTableCellHeader); TableCell nameTableCellHeader = new TableCell(); nameTableCellHeader.HorizontalAlign = HorizontalAlign.Center; nameTableCellHeader.Controls.Add(new LiteralControl("Название")); tableRow.Cells.Add(nameTableCellHeader); TableCell colorTableCellHeader = new TableCell(); colorTableCellHeader.HorizontalAlign = HorizontalAlign.Center; colorTableCellHeader.Controls.Add(new LiteralControl("Цвет")); tableRow.Cells.Add(colorTableCellHeader); TableCell dotedTableCellHeader = new TableCell(); dotedTableCellHeader.HorizontalAlign = HorizontalAlign.Center; dotedTableCellHeader.Controls.Add(new LiteralControl("Точки / Линия")); tableRow.Cells.Add(dotedTableCellHeader); tableRow.BorderStyle = BorderStyle.Outset; table.Rows.Add(tableRow); GpsObjectRows gpsObjectRows = Rows; GpsObjectRows.KeyCollection ids = gpsObjectRows.Keys; foreach (int id in ids) { GpsObjectRow gpsObjectRow = gpsObjectRows[id]; TableRow tableCtrlsRow = new TableRow(); TableCell visibleCtrlTableCell = new TableCell(); visibleCtrlTableCell.HorizontalAlign = HorizontalAlign.Center; CheckBox visibleCheckBox = new CheckBox(); visibleCheckBox.ID = String.Format("visibleCB_{0}", id); visibleCheckBox.Checked = gpsObjectRow.Visible; visibleCheckBox.AutoPostBack = true; visibleCheckBox.CheckedChanged += new EventHandler(visibleCheckBox_CheckedChanged); visibleCtrlTableCell.Controls.Add(visibleCheckBox); tableCtrlsRow.Cells.Add(visibleCtrlTableCell); Page.RegisterRequiresPostBack(visibleCheckBox); TableCell nameCtrlTableCell = new TableCell(); nameCtrlTableCell.HorizontalAlign = HorizontalAlign.Center; nameCtrlTableCell.Controls.Add(new LiteralControl(gpsObjectRow.Name)); tableCtrlsRow.Cells.Add(nameCtrlTableCell); TableCell colorCtrlTableCell = new TableCell(); colorTableCellHeader.HorizontalAlign = HorizontalAlign.Center; Panel colorPanel = new Panel(); colorPanel.Width = 45; colorPanel.Height = 1; colorPanel.BackColor = gpsObjectRow.Color; colorCtrlTableCell.Controls.Add(colorPanel); tableCtrlsRow.Cells.Add(colorCtrlTableCell); TableCell dotedCtrlTableCell = new TableCell(); dotedCtrlTableCell.HorizontalAlign = HorizontalAlign.Center; CheckBox dotedCheckBox = new CheckBox(); dotedCheckBox.ID = String.Format("dotedCB_{0}", id); dotedCheckBox.Checked = gpsObjectRow.Doted; dotedCheckBox.AutoPostBack = true; dotedCheckBox.CheckedChanged += new EventHandler(dotedCheckBox_CheckedChanged); dotedCtrlTableCell.Controls.Add(dotedCheckBox); tableCtrlsRow.Cells.Add(dotedCtrlTableCell); table.Rows.Add(tableCtrlsRow); } Controls.Add(table); Controls.Add(new LiteralControl("<br>")); Button sendButton = new Button(); sendButton.ID = "sendButton"; sendButton.Text = "Применить"; Controls.Add(sendButton); } void cb1_CheckedChanged(object sender, EventArgs e) { throw new Exception("The method or operation is not implemented."); } // ОНИ НЕ СРАБАТЫВАЮТ, ОДНАКО ПОСТБЭК ЕСТЬ. // КРОМЕ ТОГО. ПОСЛЕ ПОСТБЭКА СТРАНИЧКА ВЫГЛЯДИТ ТАКЖЕ КАК И ПРИ ПЕРВОЙ ЗАГРУЗКИ // CHECK-BOX'Ы СБРАСЫВАЮТСЯ В ПРЕЖНЕЕ СОСТОЯНИЕ void dotedCheckBox_CheckedChanged(object sender, EventArgs e) { } void visibleCheckBox_CheckedChanged(object sender, EventArgs e) { } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 09:36 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Аноним, Вы писали: А>Здравствуйте, Gollum, Вы писали: >>Показывайте код. А>Этот контрол кладётся на другой контрол, который в свою очередь кладётся на WebPart А>(под словом кладётся на контрол нужно понимать Controls.Add(ctrl), ctrl кладётся на контрол, А>которому принадлежит свойство Controls) А> А>using System; А>using System.Drawing; А>using System.Collections.Generic; А>using System.ComponentModel; А>using System.Text; А>using System.Web; А>using System.Web.UI; А>using System.Web.UI.WebControls; А>using System.Web.UI.WebControls.WebParts; А>namespace ShapeDotNet.GIS.Controls А>{ А> [DefaultProperty("Text")] А> [ToolboxData("<{0}:GpsObjectsGrid runat=server></{0}:GpsObjectsGrid>")] А> public class GpsObjectsGrid : WebControl А> { А> public GpsObjectsGrid(GpsObjectRows gpsObjectRows) А> { А> Rows = gpsObjectRows; А> } А> [Bindable(true)] А> [Category("Appearance")] А> [DefaultValue("")] А> [Localizable(true)] А> public GpsObjectRows Rows А> { А> get А> { А> GpsObjectRows gpsObjectRows = (GpsObjectRows)ViewState["GpsObjectRows"]; А> return gpsObjectRows; А> } А> set А> { А> ViewState["GpsObjectRows"] = value; А> } А> } А> protected override void CreateChildControls() А> { А> Table table = new Table(); А> table.GridLines = GridLines.Both; А> TableRow tableRow = new TableRow(); А> TableCell visibleTableCellHeader = new TableCell(); А> visibleTableCellHeader.HorizontalAlign = HorizontalAlign.Center; А> visibleTableCellHeader.Controls.Add(new LiteralControl("Видимость")); А> tableRow.Cells.Add(visibleTableCellHeader); А> TableCell nameTableCellHeader = new TableCell(); А> nameTableCellHeader.HorizontalAlign = HorizontalAlign.Center; А> nameTableCellHeader.Controls.Add(new LiteralControl("Название")); А> tableRow.Cells.Add(nameTableCellHeader); А> TableCell colorTableCellHeader = new TableCell(); А> colorTableCellHeader.HorizontalAlign = HorizontalAlign.Center; А> colorTableCellHeader.Controls.Add(new LiteralControl("Цвет")); А> tableRow.Cells.Add(colorTableCellHeader); А> TableCell dotedTableCellHeader = new TableCell(); А> dotedTableCellHeader.HorizontalAlign = HorizontalAlign.Center; А> dotedTableCellHeader.Controls.Add(new LiteralControl("Точки / Линия")); А> tableRow.Cells.Add(dotedTableCellHeader); А> tableRow.BorderStyle = BorderStyle.Outset; А> table.Rows.Add(tableRow); А> GpsObjectRows gpsObjectRows = Rows; А> GpsObjectRows.KeyCollection ids = gpsObjectRows.Keys; А> foreach (int id in ids) А> { А> GpsObjectRow gpsObjectRow = gpsObjectRows[id]; А> TableRow tableCtrlsRow = new TableRow(); А> TableCell visibleCtrlTableCell = new TableCell(); А> visibleCtrlTableCell.HorizontalAlign = HorizontalAlign.Center; А> CheckBox visibleCheckBox = new CheckBox(); А> visibleCheckBox.ID = String.Format("visibleCB_{0}", id); А> visibleCheckBox.Checked = gpsObjectRow.Visible; А> visibleCheckBox.AutoPostBack = true; А> visibleCheckBox.CheckedChanged += new EventHandler(visibleCheckBox_CheckedChanged); А> visibleCtrlTableCell.Controls.Add(visibleCheckBox); А> tableCtrlsRow.Cells.Add(visibleCtrlTableCell); А> Page.RegisterRequiresPostBack(visibleCheckBox); А> TableCell nameCtrlTableCell = new TableCell(); А> nameCtrlTableCell.HorizontalAlign = HorizontalAlign.Center; А> nameCtrlTableCell.Controls.Add(new LiteralControl(gpsObjectRow.Name)); А> tableCtrlsRow.Cells.Add(nameCtrlTableCell); А> TableCell colorCtrlTableCell = new TableCell(); А> colorTableCellHeader.HorizontalAlign = HorizontalAlign.Center; А> Panel colorPanel = new Panel(); А> colorPanel.Width = 45; А> colorPanel.Height = 1; А> colorPanel.BackColor = gpsObjectRow.Color; А> colorCtrlTableCell.Controls.Add(colorPanel); А> tableCtrlsRow.Cells.Add(colorCtrlTableCell); А> TableCell dotedCtrlTableCell = new TableCell(); А> dotedCtrlTableCell.HorizontalAlign = HorizontalAlign.Center; А> CheckBox dotedCheckBox = new CheckBox(); А> dotedCheckBox.ID = String.Format("dotedCB_{0}", id); А> dotedCheckBox.Checked = gpsObjectRow.Doted; А> dotedCheckBox.AutoPostBack = true; А> dotedCheckBox.CheckedChanged += new EventHandler(dotedCheckBox_CheckedChanged); А> dotedCtrlTableCell.Controls.Add(dotedCheckBox); А> tableCtrlsRow.Cells.Add(dotedCtrlTableCell); А> table.Rows.Add(tableCtrlsRow); А> } А> Controls.Add(table); А> Controls.Add(new LiteralControl("<br>")); А> Button sendButton = new Button(); А> sendButton.ID = "sendButton"; А> sendButton.Text = "Применить"; А> Controls.Add(sendButton); А> } А> void cb1_CheckedChanged(object sender, EventArgs e) А> { А> throw new Exception("The method or operation is not implemented."); А> } А>// ОНИ НЕ СРАБАТЫВАЮТ, ОДНАКО ПОСТБЭК ЕСТЬ. А>// КРОМЕ ТОГО. ПОСЛЕ ПОСТБЭКА СТРАНИЧКА ВЫГЛЯДИТ ТАКЖЕ КАК И ПРИ ПЕРВОЙ ЗАГРУЗКИ А>// CHECK-BOX'Ы СБРАСЫВАЮТСЯ В ПРЕЖНЕЕ СОСТОЯНИЕ А> void dotedCheckBox_CheckedChanged(object sender, EventArgs e) А> { А> } А> void visibleCheckBox_CheckedChanged(object sender, EventArgs e) А> { А> } А> А что происходит в фукции Page_Load? Может быть там вызывается CreateChildControls() без проверки IsPostBack? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 10:06 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, i_te3s, Вы писали: _>А что происходит в фукции Page_Load? Может быть там вызывается CreateChildControls() без проверки IsPostBack? У класса страницы на которой WebPart находится: // Функция вот такая. А как должно быть? Почему постбэк есть. Эвент не срабатывает. Страница выглядит после постбэка также // как и при первой загрузке. // Как сделать правильно? using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 10:14 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Аноним, Вы писали: МУЖИКИ, ВЫРУЧАЙТЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 11:54 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Наводит на мысль, что отключен ViewState Ваша фраза: "ПОСЛЕ ПОСТБЭКА СТРАНИЧКА ВЫГЛЯДИТ ТАКЖЕ КАК И ПРИ ПЕРВОЙ ЗАГРУЗКИ CHECK-BOX'Ы СБРАСЫВАЮТСЯ В ПРЕЖНЕЕ СОСТОЯНИЕ" Попробуй-те включить данное свойство у CheckBox'a или у контейнера, если таковой имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 12:10 |
|
||
|
Вопрос по обьработке событий
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Darkman_VLT, Вы писали: Кладу контрол (перетаскиваю мышей в дизайнере на страницу aspx) на страницу aspx: Запускаю страницу. Х*р там. Состояние сбрасывается. Событие не срабатывает. :-( КАК ВЫ ТАКОЕ ДЕЛАЕТЕ? using System; using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyCustomControls { [DefaultProperty("Text")] [ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")] public class MyCustomControl : WebControl, IPostBackDataHandler { protected override void CreateChildControls() { EnableViewState = true; CheckBox chb = new CheckBox(); chb.ID = "CH1"; chb.Text = "sample text"; chb.AutoPostBack = true; chb.EnableViewState = true; chb.CheckedChanged += new EventHandler(chb_CheckedChanged); Controls.Add(chb); } // Ни в один из обработчиков, вход не происходит void chb_CheckedChanged(object sender, EventArgs e) { throw new Exception("The method or operation is not implemented."); } public virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) { return true; } public virtual void RaisePostDataChangedEvent() { } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2006, 12:40 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=936&tid=1391841]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 370ms |

| 0 / 0 |
