Matsya Ganesh Vegi Ответов: 3

Как вызвать javascript confirm из c# button onclick event


Вот я хочу позвонить на JavaScript подтвердить с помощью кнопки в C# событие onclick. Пожалуйста, помогите мне.

protected void btnSave_Click(object sender, EventArgs e)
{
string Confirmvalu=string.Empty;
bool check = checkattachments();//Returns bool value
if (check)
{
//Then I Would like to Call Javascript Confirm 
//And based on confirm value i.e. Confirmvalu, I have to do something like       
if(Confirmvalu=="Yes")
{ 
//Do Something1
}
else
{
//Do Something2
}
}
else
{
//Javascript no need
}
}


Что я уже пробовал:

Пожалуйста, помогите мне решить эту проблему

3 Ответов

Рейтинг:
1

Kaushikhalvadiya

Лучше добавить код в Html-дизайнер, как показано ниже.

<asp:button id="Button1" xmlns:asp="#unknown">
           Text="Submit"
           onclick="return confirm('Are you sure');"
           runat="server"/></asp:button>


Рейтинг:
0

SRS(The Coder)

Согласен вы должны кодировать так в версии 4.0:-

<asp:button onclientclick="return confirm('Are you sure, you want to continue?');" runat="server" id="btnTest" onclick="btnTest_Click" text="Click Here" xmlns:asp="#unknown" />


Как вы можете видеть в последней версии, мы получаем как "onclientclick", так и "onclick" события для обработки. "onclientclick" будет обрабатывать событие click на стороне клиента.

Таким образом, сначала нажмите на код на стороне клиента, который покажет поле подтверждения, если вы нажмете кнопку ОК, он переместится рядом с кодом на стороне сервера, где вы делаете все, что хотите, или же это отменит событие щелчка на стороне сервера, вернув false.

Надеюсь, это вам поможет.


Matsya Ganesh Vegi

Я не хочу иметь дело с onclientclick. Я просто хочу сделать это в таком состоянии.

Если мое значение "check" истинно, то только я хочу подтвердить поле. в противном случае я не хочу никаких подтверждений или предупреждений. Если я использую onclientclick, подтверждение будет приходить в каждый клик, я этого не хочу.

F-ES Sitecore

Вы не можете сделать это в функции "если", вам нужно время, чтобы понять asp.net жизненный цикл страницы. Ваш серверный код запускается полностью, и после его завершения весь сгенерированный html отправляется клиенту, и только тогда вы можете делать клиентские вещи, такие как запуск javascript, поэтому вы не можете запускать js, как работает ваш серверный код, он просто не работает так.

Вместо этого вам нужно разделить свой код на два шага: сначала вы делаете подготовку к действию и показываете окно подтверждения, а после того, как пользователь подтвердил, вы делаете следующий шаг, который является самим действием. См. "Basic "и" BasicDialog " по ссылке, опубликованной Karthik, чтобы понять основы, а затем, возможно, посмотрите на версию PurAjax.

SRS(The Coder)

но в том случае, если вы зарегистрируете скрипт на странице, сообщение подтверждения появится после загрузки страницы в следующий раз.

Matsya Ganesh Vegi

Да, вот что я нашел. Но это не мое требование. Я потратил на это слишком много времени. Но все еще исследует.

SRS(The Coder)

трудно добиться того, как вы хотите это сделать, потому что, как говорит "F-ES Sitecore", это противоречит обычному потоку. asp.net работает...
также нет подтверждающего сообщения, которое можно сделать непосредственно в asp.net,A s он не поддерживает то же самое, скорее вы можете попробовать какую-то третью сторону или сделать операцию с помощью ajax.