Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют?
Куча примеров на подтверждение удаления, но они все основаны на встроенных кнопках грида.
Здравствуйте, 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. ошибки в посте возможны, писалось на скорую руку, но суть вроде бы правильна
Здравствуйте, 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);
}
}
}
После вставки Вашей строки происходит удаление без всякого запроса, и в добавок вывалилось сообщение об ошибке (Нехватает ")" совсем в левой строке)?
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
K_S>Вообще то код работает прилично и проблем с ним нет. Я просто хотел сказать , что не последовало никакого сообщения перед удаление записи.
блин осенило, ты Attributes.Add () в обработчике делаешь ? так? он и не будет у тебя спрашивать,
аттрибуты надо добавлять непосредственно перед тем как вызовется самый первый Render, а ты его добаляешь после того как, вызвался post со страницы.
примерно в Page.PreRender добавляй свой аттрибут (всегда)
Здравствуйте, 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
Здравствуйте, 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
Добавил
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 ("Are you sure?") 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?\");");
удаление опять прошло без запроса.
Здравствуйте, 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 ();}");
попробуй так.
У нас "два" по всем наукам, но ботанику мы знаем на "пять"!
Здравствуйте, 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>попробуй так.
Заменил строку. Ошибка не выпадает, но удаление происходит без запроса.
не мучайся замени свою кнопку на
<input type=button runat=server onclick=...>
функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, K_Sergey, Вы писали:
M>не мучайся замени свою кнопку на M><input type=button runat=server onclick=...> M>функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов
Я не против такой замены, но мне нужны кнопки с графическим изображением, а то весь дизайн полетит.
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, K_Sergey, Вы писали:
M> M>не мучайся замени свою кнопку на M><input type=button runat=server onclick=...> M>функционально она ничем не хуже, да и результирующий HTML код от использования HTML-контролов получается чище чем при использовании Web-контролов
Здравствуйте, 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?');");
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
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, 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%;" ....>
Здравствуйте, mogadanez, Вы писали:
M>зачем такие сложности??? M>нужно всего лишь M>cmdTypeReportDel.Attributes.Add ("onclick","return confirm ('Dialog','Are you sure?');");
Видишь, он говорит, не работает
Моя смерть ездит в черной машине с голубым огоньком
Здравствуйте, 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)
Сегодня я прощаюсь — послезавтра я опять буду здесь
Здравствуйте, TK, Вы писали:
TK>Hello, "K_Sergey" >> Есть небольшое ASP.NET приложение, в котором размещены грид и управляющие кнопки (Добавить, Изменить, Удалить). Кнопки не являются стандартными кнопками грида.(ImageButton). При удалении записи необходимо подтверждение на удаление. Запись: button.Attributes.Add ("onclick","return confirm (\"Are you sure?\");"); выполняется, но ничего не происходит. Как добится подтверждения удаления? Как использовать диалоговые окна в ASP.NET если вообще они существуют? >>
TK>А что мешает указать для кнопки нужный css с client behavior?