Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 03:50
Оценка:
Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?

Куча примеров на подтверждение удаления, но они все основаны на встроенных кнопках грида.

Помогите новичку, очень надо. Спасибо за ответ.
Re: Подтверждение удаления
От: uzzy Россия  
Дата: 19.08.03 04:09
Оценка:
Здравствуйте, K_Sergey, Вы писали:

K_S>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?

Почитай, внимательно примеры со стандартными кнопками грида, тода может ты поймешь, что диалоговые окна, это удел не ASP.NET а Javascript-a (что является принципиально разными вещами).
А теперь по существу: все что тебе нужно при получении привального ответа от confirm, выполнить такую строчку
window.document.forms[0].submit ();

в javascript-e. то есть твоя строчка будет выглядеть примерно так:
button.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");

P.S. ошибки в посте возможны, писалось на скорую руку, но суть вроде бы правильна
Re[2]: Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 04:37
Оценка:
Здравствуйте, uzzy, Вы писали:

U>Здравствуйте, K_Sergey, Вы писали:


K_S>>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?

U>Почитай, внимательно примеры со стандартными кнопками грида, тода может ты поймешь, что диалоговые окна, это удел не ASP.NET а Javascript-a (что является принципиально разными вещами).
U>А теперь по существу: все что тебе нужно при получении привального ответа от confirm, выполнить такую строчку
U>
U>window.document.forms[0].submit (); 
U>

U>в javascript-e. то есть твоя строчка будет выглядеть примерно так:
U>
U>button.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
U>

U>P.S. ошибки в посте возможны, писалось на скорую руку, но суть вроде бы правильна

Здравствуйте uzzy.
Спасибо за терпение.

private void cmdTypeReportDel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");

string keyID=ViewState["strFildTypeReport"].ToString();
if (keyID != "0")
{
//строка подключения для активизации класса
DBModifier bd = new DBModifier(DBProvider.ConnectionString);
//создание массива для передачи в класс
if (bd.meDelete ("tblTypeReport","TypeReportServerID",keyID) != false)
{
ViewState["strFildTypeReport"]="0";
txtTypeReport.Text = "";
//тип отчёта
string strSQL = stringSQL((int)ViewState["PageNumTypeReport"],"tblTypeReport","TypeReportServerID");
stConnect ((int)ViewState["PageNumTypeReport"],strSQL,dgTypeReport,"TypeReportServerID","strFildTypeReport", txtTypeReport);
}
}

}

После вставки Вашей строки происходит удаление без всякого запроса, и в добавок вывалилось сообщение об ошибке (Нехватает ")" совсем в левой строке)?
Re[3]: Подтверждение удаления
От: uzzy Россия  
Дата: 19.08.03 05:02
Оценка:
Здравствуйте, K_Sergey, Вы писали:


K_S>>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?

U>Почитай, внимательно примеры со стандартными кнопками грида, тода может ты поймешь, что диалоговые окна, это удел не ASP.NET а Javascript-a (что является принципиально разными вещами).
U>А теперь по существу: все что тебе нужно при получении привального ответа от confirm, выполнить такую строчку
U>
U>window.document.forms[0].submit (); 
U>

U>в javascript-e. то есть твоя строчка будет выглядеть примерно так:
U>
U>button.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
U>

Здесь я оплошал малость, все сначала было правильно, то есть верни просто return confirm (...)

U>P.S. ошибки в посте возможны, писалось на скорую руку, но суть вроде бы правильна


K_S>Здравствуйте uzzy.

K_S>Спасибо за терпение.

K_S>private void cmdTypeReportDel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
K_S>        {
K_S>            cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
 
K_S>string keyID=ViewState["strFildTypeReport"].ToString();
K_S>  if (keyID != "0")
K_S>    {
K_S>    //строка подключения для активизации класса
K_S>    DBModifier bd = new DBModifier(DBProvider.ConnectionString);
K_S>    //создание массива для передачи в класс
K_S>    if (bd.meDelete ("tblTypeReport","TypeReportServerID",keyID) != false) 
K_S>    {
K_S>    ViewState["strFildTypeReport"]="0";
K_S>    txtTypeReport.Text = "";
K_S>    //тип отчёта
K_S>    string strSQL = stringSQL((int)ViewState["PageNumTypeReport"],"tblTypeReport","TypeReportServerID");
K_S>                    stConnect ((int)ViewState["PageNumTypeReport"],strSQL,dgTypeReport,"TypeReportServerID","strFildTypeReport", txtTypeReport);
K_S>    }
K_S>   }

K_S>}


Я толком не разбирался в коде, но советую перекручивать DataGrid другие DataBounded контролы, после изменения состояния в БД, то есть принудительно вызывать DataGrid1.DataBind () в обработчиках событий, модифицирующих БД. В противном случае DataGrid и Cо. восстанавливают себя из ViewState
Re[4]: Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 05:06
Оценка:
Вообще то код работает прилично и проблем с ним нет. Я просто хотел сказать , что не последовало никакого сообщения перед удаление записи.
Re[5]: Подтверждение удаления
От: uzzy Россия  
Дата: 19.08.03 05:17
Оценка: +1
Здравствуйте, K_Sergey, Вы писали:


K_S>Вообще то код работает прилично и проблем с ним нет. Я просто хотел сказать , что не последовало никакого сообщения перед удаление записи.


блин осенило, ты Attributes.Add () в обработчике делаешь ? так? он и не будет у тебя спрашивать,
аттрибуты надо добавлять непосредственно перед тем как вызовется самый первый Render, а ты его добаляешь после того как, вызвался post со страницы.
примерно в Page.PreRender добавляй свой аттрибут (всегда)
Re: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 05:25
Оценка:
Здравствуйте, K_Sergey, Вы писали:

K_S>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?


K_S>Куча примеров на подтверждение удаления, но они все основаны на встроенных кнопках грида.


K_S>Помогите новичку, очень надо. Спасибо за ответ.


button.Attributes.Add ("onclick","javascript: return confirm (\"Are you sure?\");");

Вот это вот нужно добавлять в Page_Load. Или лучше сразу прописать в aspx странице, как сказал mogadanez в Re[15]: DataGrid
Автор: mogadanez
Дата: 18.08.03
По всей Смоленщине нет кокаина — это временный кризис сырья
Eugene Agafonov on the .NET

Re[2]: Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 06:09
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, K_Sergey, Вы писали:


K_S>>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?


K_S>>Куча примеров на подтверждение удаления, но они все основаны на встроенных кнопках грида.


K_S>>Помогите новичку, очень надо. Спасибо за ответ.


G>
G>button.Attributes.Add ("onclick","javascript: return confirm (\"Are you sure?\");");
G>

G>Вот это вот нужно добавлять в Page_Load. Или лучше сразу прописать в aspx странице, как сказал mogadanez в Re[15]: DataGrid
Автор: mogadanez
Дата: 18.08.03


Добавил
cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
в Page_Load.
Выдало, что в строке не хватает )
<TD style="HEIGHT: 26px" vAlign="bottom" align="center"><input type="image" name="cmdTypeReportDel" id="cmdTypeReportDel" title="Удалить" onclick="javascript: if confirm (&quot;Are you sure?&quot;) window.document.forms[0].submit ();" src="file:///C:\Documents and Settings\Sergey.KISOFT\Рабочий стол\KAD\Picture\DELETE2.GIF" border="0" style="height:18px;width:18px;" /></TD>

Добавил в Page_Load
cmdTypeReportDel.Attributes.Add ("onclick","javascript: return confirm (\"Are you sure?\");");
удаление опять прошло без запроса.
Re[3]: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 06:13
Оценка:
Здравствуйте, K_Sergey, Вы писали:

K_S>Добавил

K_S> cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
cmdTypeReportDel.Attributes.Add ("onclick","javascript: if (confirm(\"Are you sure?\")){window.document.forms[0].submit ();}");
попробуй так.
У нас "два" по всем наукам, но ботанику мы знаем на "пять"!
Eugene Agafonov on the .NET

Re[4]: Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 06:19
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, K_Sergey, Вы писали:


K_S>>Добавил

K_S>> cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
G>cmdTypeReportDel.Attributes.Add ("onclick","javascript: if (confirm(\"Are you sure?\")){window.document.forms[0].submit ();}");
G>попробуй так.

Заменил строку. Ошибка не выпадает, но удаление происходит без запроса.
Re[3]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 06:22
Оценка:
Здравствуйте, K_Sergey, Вы писали:


не мучайся замени свою кнопку на
<input type=button runat=server onclick=...>
функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов
... << RSDN@Home 1.0 beta 7a >>
Re[4]: Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 06:30
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, K_Sergey, Вы писали:



M>не мучайся замени свою кнопку на

M><input type=button runat=server onclick=...>
M>функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов

Я не против такой замены, но мне нужны кнопки с графическим изображением, а то весь дизайн полетит.
Re[4]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 06:34
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, K_Sergey, Вы писали:


M>

M>не мучайся замени свою кнопку на
M><input type=button runat=server onclick=...>
M>функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов


вот мой проверенный вариант кнопки:

<INPUT type=submit value=Submit runat=server onclick='return confirm("d","dd");'>
... << RSDN@Home 1.0 beta 7a >>
Re[4]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 06:34
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, K_Sergey, Вы писали:


K_S>>Добавил

K_S>> cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
G>cmdTypeReportDel.Attributes.Add ("onclick","javascript: if (confirm(\"Are you sure?\")){window.document.forms[0].submit ();}");
G>попробуй так.

G>


зачем такие сложности???
нужно всего лишь
cmdTypeReportDel.Attributes.Add ("onclick","return confirm ('Dialog','Are you sure?');");
... << RSDN@Home 1.0 beta 7a >>
Re: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 06:35
Оценка:
Hello, "K_Sergey"
> Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?
>

А что мешает указать для кнопки нужный css с client behavior?
Posted via RSDN NNTP Server 1.6
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[5]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 06:37
Оценка:
Здравствуйте, K_Sergey, Вы писали:

KS>Здравствуйте, mogadanez, Вы писали:


M>>Здравствуйте, K_Sergey, Вы писали:


KS>

M>>не мучайся замени свою кнопку на
M>><input type=button runat=server onclick=...>
M>>функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов

KS>Я не против такой замены, но мне нужны кнопки с графическим изображением, а то весь дизайн полетит.


<input type=submit runat=server style="BACKGROUND: url(../images/pdf.gif) no-repeat left 50%;" ....>
... << RSDN@Home 1.0 beta 7a >>
Re[5]: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 06:37
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>зачем такие сложности???

M>нужно всего лишь
M>cmdTypeReportDel.Attributes.Add ("onclick","return confirm ('Dialog','Are you sure?');");

Видишь, он говорит, не работает
Моя смерть ездит в черной машине с голубым огоньком
Eugene Agafonov on the .NET

Re[5]: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 06:40
Оценка:
Здравствуйте, K_Sergey, Вы писали:

K_S>>>Добавил

K_S>>> cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
G>>cmdTypeReportDel.Attributes.Add ("onclick","javascript: if (confirm(\"Are you sure?\")){window.document.forms[0].submit ();}");
G>>попробуй так.

K_S>Заменил строку. Ошибка не выпадает, но удаление происходит без запроса.


Давай так — посмотри страничку по view source в эксплорере, и посмотри, есть ли в тексте странички этот скрипт.
Если нет — скорее всего ты не там поставил это строчку. Ее нужно ставить таким образом чтобы она отрабатывала при каждом PostBack странички. Например, в Page_Load (не в !IsPostBack)
Сегодня я прощаюсь — послезавтра я опять буду здесь
Eugene Agafonov on the .NET

Re[2]: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 06:51
Оценка:
Здравствуйте, TK, Вы писали:

TK>Hello, "K_Sergey"

>> Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?
>>

TK>А что мешает указать для кнопки нужный css с client behavior?


, уже советовали сделать вот так: Re[15]: DataGrid
Автор: mogadanez
Дата: 18.08.03
Моя смерть ездит в черной машине с голубым огоньком
Eugene Agafonov on the .NET

Re[3]: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 07:09
Оценка:
Hello, "Gollum"

>

> TK>А что мешает указать для кнопки нужный css с client behavior?
>
> , уже советовали сделать вот так: Re[15]: DataGrid
Автор: mogadanez
Дата: 18.08.03


Ну, css в этом плане более элегантен.

<asp:button runat="server" style="behavior: url(confirm.htc)" />
или классом
<asp:button runat="server" CssClass="confirmButton" />
Posted via RSDN NNTP Server 1.6
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 07:20
Оценка:
Здравствуйте, TK, Вы писали:

TK>Hello, "Gollum"


>>

>> TK>А что мешает указать для кнопки нужный css с client behavior?
>>
>> , уже советовали сделать вот так: Re[15]: DataGrid
Автор: mogadanez
Дата: 18.08.03


TK>Ну, css в этом плане более элегантен.


TK><asp:button runat="server" style="behavior: url(confirm.htc)" />

TK>или классом
TK><asp:button runat="server" CssClass="confirmButton" />

htc для такой задачи....
... << RSDN@Home 1.0 beta 7a >>
Re[4]: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 07:22
Оценка:
Здравствуйте, TK, Вы писали:

TK><asp:button runat="server" style="behavior: url(confirm.htc)" />


Это по-моему только на эксплорере будет работать

TK>или классом

TK><asp:button runat="server" CssClass="confirmButton" />

В общем случае да, но если такая кнопка совсем одна, то можно и не морочиться с CSS
У нас "два" по всем наукам, но ботанику мы знаем на "пять"!
Eugene Agafonov on the .NET

Re[5]: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 07:34
Оценка:
Здравствуйте, mogadanez, Вы писали:

TK>>Ну, css в этом плане более элегантен.


TK>><asp:button runat="server" style="behavior: url(confirm.htc)" />

TK>>или классом
TK>><asp:button runat="server" CssClass="confirmButton" />

M>htc для такой задачи.... :)) :))


1. Клиентские вещи нужно делать клиентскими вещами
2. Добавление скриптовых обработчиков в CodeBehind это тоже не лучший стиль.
Обычно его используют для отделения данных от представления, и использовать его для добавления скриптов (типичное представление) видится ошибочным
3. Серверный элемент управления также может добавлять обработчик для onclick. В этом случае использование Control.Attributes.Add ("onclick", "...") будет служить испточником доболнительных проблем.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[5]: Подтверждение удаления
От: K_Sergey Казахстан  
Дата: 19.08.03 07:35
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, TK, Вы писали:


TK>><asp:button runat="server" style="behavior: url(confirm.htc)" />


G>Это по-моему только на эксплорере будет работать


TK>>или классом

TK>><asp:button runat="server" CssClass="confirmButton" />

G>В общем случае да, но если такая кнопка совсем одна, то можно и не морочиться с CSS


Спасибо Всем кто принял участие в обучении новичка. Всё получилось!!! Приятно иметь дело с профи.
Re[5]: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 07:38
Оценка:
Hello, "Gollum"
>
> TK><asp:button runat="server" style="behavior: url(confirm.htc)" />
>
> Это по-моему только на эксплорере будет работать
>

Для прочих браузеров есть аналогичные технологии.

> TK>или классом

> TK><asp:button runat="server" CssClass="confirmButton" />
>
> В общем случае да, но если такая кнопка совсем одна, то можно и не морочиться с CSS

Одна или нет — не принципиально. Главное это подход. Сейчас одна, а завтра 21 — где критерий когда нужно начать переписывать собственные наработки? IMHO — нужно сразу делать так, что-бы потом было легче...

Да и HTC более чем простой...
<PUBLIC:ATTACH EVENT="onclick" ONEVENT="onClickConfirm()" />
<script language="javascript">
<!--
function onClickConfirm()
{
 if (window.confirm("Delete?") == false)
 {
  if (window.event != null)
  {
   window.event.returnValue = false;
  }  
 }
}
//-->
</script>
Posted via RSDN NNTP Server 1.6
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 07:42
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, mogadanez, Вы писали:


TK>>>Ну, css в этом плане более элегантен.


TK>>><asp:button runat="server" style="behavior: url(confirm.htc)" />

TK>>>или классом
TK>>><asp:button runat="server" CssClass="confirmButton" />

M>>htc для такой задачи....


TK>1. Клиентские вещи нужно делать клиентскими вещами

TK>2. Добавление скриптовых обработчиков в CodeBehind это тоже не лучший стиль.
TK> Обычно его используют для отделения данных от представления, и использовать его для добавления скриптов (типичное представление) видится ошибочным
TK>3. Серверный элемент управления также может добавлять обработчик для onclick. В этом случае использование Control.Attributes.Add ("onclick", "...") будет служить испточником доболнительных проблем.
TK>

мой вариант изложен здесь:
Re[4]: Подтверждение удаления
Автор: mogadanez
Дата: 19.08.03


он вроде соответсвует всем трем пунктам
... << RSDN@Home 1.0 beta 7a >>
Re[7]: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 07:45
Оценка: 1 (1) +1
Здравствуйте, mogadanez, Вы писали:


M>мой вариант изложен здесь:

M>Re[4]: Подтверждение удаления
Автор: mogadanez
Дата: 19.08.03


M>он вроде соответсвует всем трем пунктам


А теперь представим, что на странице не только confirm для удаления, но и используется несколько валидаторов из ASP.NET?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: Подтверждение удаления
От: Gollum Россия  
Дата: 19.08.03 07:48
Оценка:
Здравствуйте, TK, Вы писали:

TK>Для прочих браузеров есть аналогичные технологии.


Да, но htc они не поймут

>> В общем случае да, но если такая кнопка совсем одна, то можно и не морочиться с CSS


TK>Одна или нет — не принципиально. Главное это подход. Сейчас одна, а завтра 21 — где критерий когда нужно начать переписывать собственные наработки? IMHO — нужно сразу делать так, что-бы потом было легче...


Согласен.

TK>Да и HTC более чем простой...


Именно потому что простой, лучше сделать эту функциональность через более поддерживаемые технологии.

З.Ы. Из всего вышеприведенного, вариант с CssClass мне нравится больше всего.
В мире что-то не так? Или это у меня в голове?
Eugene Agafonov on the .NET

Re[7]: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 07:56
Оценка:
Hello, "Gollum"
>
> TK>Для прочих браузеров есть аналогичные технологии.
>
> Да, но htc они не поймут
>

Есть XBL: http://www.mozilla.org/projects/xbl/xbl.html
Так-же управляется из CSS.
Posted via RSDN NNTP Server 1.6
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[8]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 08:10
Оценка:
Здравствуйте, TK, Вы писали:

TK>Hello, "Gollum"

>>
>> TK>Для прочих браузеров есть аналогичные технологии.
>>
>> Да, но htc они не поймут
>>

TK>Есть XBL: http://www.mozilla.org/projects/xbl/xbl.html

TK>Так-же управляется из CSS.

придется делать два варианта, проверку браузера....
... << RSDN@Home 1.0 beta 7a >>
Re[9]: Подтверждение удаления
От: TK Лес кывт.рф
Дата: 19.08.03 08:14
Оценка:
Здравствуйте, mogadanez, Вы писали:

TK>>Есть XBL: http://www.mozilla.org/projects/xbl/xbl.html

TK>>Так-же управляется из CSS.

M>придется делать два варианта, проверку браузера....


Со скриптами такое часто бывает...
Либо делать чтобы работало во всех браузерах (не всегда удобно), либо под каждый свою версию.
А вот проверку браузера делать не обязательно — если браузер не знает о стиле, то он будет его просто игнорировать.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[8]: Подтверждение удаления
От: mogadanez Чехия  
Дата: 19.08.03 08:17
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, mogadanez, Вы писали:



M>>мой вариант изложен здесь:

M>>Re[4]: Подтверждение удаления
Автор: mogadanez
Дата: 19.08.03


M>>он вроде соответсвует всем трем пунктам


TK>А теперь представим, что на странице не только confirm для удаления, но и используется несколько валидаторов из ASP.NET?


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

Вообще я разочаровался в валидаторах. уж очень они непродуманы и недоделаны до ума.
Re: Подтверждение удаления
От: Esprit Украина  
Дата: 20.08.03 10:34
Оценка: 6 (1)
Здравствуйте, K_Sergey, Вы писали:

K_S>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?


K_S>Куча примеров на подтверждение удаления, но они все основаны на встроенных кнопках грида.


K_S>Помогите новичку, очень надо. Спасибо за ответ.


private void "id DataGrid'a"_ItemCreated(Object sender, DataGridItemEventArgs e)
{
ImageButton button = null;
switch (e.Item.ItemType)
{
case ListItemType.Item:
button = (ImageButton)e.Item.FindControl("id кнопки");
break;
case ListItemType.AlternatingItem:
button = (ImageButton)e.Item.FindControl("id кнопки");
break;
case ListItemType.EditItem:
button = (ImageButton)e.Item.FindControl("id кнопки");
break;
default:
break;
}

if (button != null)
button.Attributes.Add("OnClick", "return confirm('Are you sure you want to ..?');");}
}

Попробуй так.
Склонность к сумашествию передается по наследству — но вам ничего не мешает легко заполучить ее благодаря собственным детишкам.
Re[3]: Подтверждение удаления
От: hellraiser Беларусь  
Дата: 26.08.03 05:31
Оценка:
Здравствуйте, K_Sergey, Вы писали:

K_S>Здравствуйте, uzzy, Вы писали:


U>>Здравствуйте, K_Sergey, Вы писали:


K_S>>>Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?

U>>Почитай, внимательно примеры со стандартными кнопками грида, тода может ты поймешь, что диалоговые окна, это удел не ASP.NET а Javascript-a (что является принципиально разными вещами).
U>>А теперь по существу: все что тебе нужно при получении привального ответа от confirm, выполнить такую строчку
U>>
U>>window.document.forms[0].submit (); 
U>>

U>>в javascript-e. то есть твоя строчка будет выглядеть примерно так:
U>>
U>>button.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");
U>>

U>>P.S. ошибки в посте возможны, писалось на скорую руку, но суть вроде бы правильна

K_S>Здравствуйте uzzy.

K_S>Спасибо за терпение.

K_S>private void cmdTypeReportDel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
K_S> {
K_S> cmdTypeReportDel.Attributes.Add ("onclick","javascript: if confirm (\"Are you sure?\") window.document.forms[0].submit ();");

K_S>string keyID=ViewState["strFildTypeReport"].ToString();

K_S> if (keyID != "0")
K_S> {
K_S> //строка подключения для активизации класса
K_S> DBModifier bd = new DBModifier(DBProvider.ConnectionString);
K_S> //создание массива для передачи в класс
K_S> if (bd.meDelete ("tblTypeReport","TypeReportServerID",keyID) != false)
K_S> {
K_S> ViewState["strFildTypeReport"]="0";
K_S> txtTypeReport.Text = "";
K_S> //тип отчёта
K_S> string strSQL = stringSQL((int)ViewState["PageNumTypeReport"],"tblTypeReport","TypeReportServerID");
K_S> stConnect ((int)ViewState["PageNumTypeReport"],strSQL,dgTypeReport,"TypeReportServerID","strFildTypeReport", txtTypeReport);
K_S> }
K_S> }

K_S>}


K_S>После вставки Вашей строки происходит удаление без всякого запроса, и в добавок вывалилось сообщение об ошибке (Нехватает ")" совсем в левой строке)?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.