2017-02-07 10 views
2

Как вызвать условное поле подтверждения из C#.Условное поле подтверждения в C#

У меня есть 2 скрытых поля и на основе условия, которое я хочу вызвать в поле подтверждения.

После этого я также хочу, чтобы пользователь нажал (нажал «да» или «Нет»).

Дизайн: -

<input type="submit" id="btnAddPaymentMethod" onserverclick="AddPaymentMethod_Click" runat="server" value="add payment method" /> 

Код: -

protected void Next_Click(object sender, EventArgs e) 
    { 
      if (hdnDefault.Value == hdnPrimary.Value) { return; } 
      else 
      { 
      //open confirm box 
      ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "confirm('Do you want to save new default payment method?');", true); 
        string confirmValue = Request.Form["confirm_value"]; 
        if (confirmValue == "Yes") 
        { 
         this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true); 
        } 
        else 
        { 
         this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked NO!')", true); 
        } 
      } 
    } 

Я попытался ниже JQuery Код: -

function Confirm(msg) { 
      var confirm_value = document.createElement("INPUT"); 
      confirm_value.type = "hidden"; 
      confirm_value.name = "confirm_value"; 
      if (confirm(msg)) { 
       confirm_value.value = "Yes"; 
       $('#btnAddPaymentMethod').click(); 
      } else { 
       confirm_value.value = "No"; 
      } 
      document.forms[0].appendChild(confirm_value); 
     } 
+1

Почему бы вам не поставить условие в javascript/jquery, где вы можете позвонить прямо сейчас, а не на серверный код. – Adil

+0

Попробуйте эту ссылку @Sunny Singh http://www.aspsnippets.com/Articles/ASPNet-Server-Side-Yes-No-Confirmation-Box-using-JavaScript.aspx – jose

+0

Я видел эту статью @jose, но я didn «Не получаю окно подтверждения, оно всегда показывает« Вы нажали НЕТ! ». –

ответ

1
protected void Next_Click(object sender, EventArgs e) 
{ 
    if (hdnDefault.Value == hdnPrimary.Value) { 
    return; 
    } else { 
    //open confirm box 
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "confirm", "Confirm('Do you want to save new default payment method?');", true); 
    } 
} 

protected void AddPaymentMethod_Click(object sender, EventArgs e) 
{ 
    string confirmValue = Request.Form["confirm_value"]; 
    if (confirmValue == "Yes") { 
    ScriptManager.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true); 
    } else { 
    ScriptManager.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked NO!')", true); 
    } 
} 

function Confirm(msg) { 
    var confirm_value = document.createElement("INPUT"); 
    confirm_value.type = "hidden"; 
    confirm_value.name = "confirm_value"; 
    confirm_value.value = confirm(msg)? "Yes" : "No"; 
    document.forms[0].appendChild(confirm_value); 
    $('#btnAddPaymentMethod').click(); 
} 
0

Я не запускать свой код. Но когда у вас есть runat="server" для управления вводом, он будет добавлен с уникальным идентификатором asp.net. Поэтому попробуйте получить доступ к элементу управления ввода с его именем, заканчивающимся btnAddPaymentMethod, как показано ниже.

Переход от $('#btnAddPaymentMethod').click(); к $('[id$=btnAddPaymentMethod]').click();

0

Этот код JQuery откроется диалоговое окно подтверждения, с «ОК» и «Отмена» кнопки.

Здесь анкерный тег с идентификатором myConfirmPageLink, при нажатии, запрашивает подтверждение. Если щелкнуть по окну, он переходит к цели, и если отмена нажата, она остается на той же странице.

$("a#myConfirmPageLink").click(function(){ 
    return confirm("Are you sure you want to go to that page/site ?"); 
}); 

Это должно быть легко изменить для ваших целей.

 Смежные вопросы

  • Нет связанных вопросов^_^