Je veux afficher une fenêtre contextuelle avec oui et aucune option du code C # derrière sans cliquer sur n'importe quel bouton et je dois également saisir la réponse de l'utilisateur dans le code derrière pour effectuer une action dans ASP.NET Page. P>
plus spécifique: j'ai une zone de texte, où l'utilisateur entrera dans certaines données, sur TextBox_Change Event, je dois valider les données saisies et afficher une fenêtre contextuelle à l'utilisateur si cela est valide ou non et prenez la réponse de l'utilisateur dans le formulaire. de oui / non, en fonction de cela, je dois encore effectuer une certaine opération sur le code derrière. p>
Je sais que je sais de l'implémenter avec un bouton, mais mon exigence est d'afficher la fenêtre contextuelle lorsque l'utilisateur entre dans les données dans la zone de texte. p>
aidez-moi aux gars, merci. P>
3 Réponses :
Vous pouvez utiliser la méthode confirm ()
en javascript.
if (IsPostBack) { var result = Request.Params["__EVENTARGUMENT"]; }
Sur le serveur dans Page Load ()
: p >
if (confirm("Your Question?")){ __doPostBack('', 'YES'); } else { __doPostBack('', 'NO') }
Merci pour une réponse rapide Max, mais selon mes besoins, je dois effectuer cette opération sur l'événement textBox_change, pas dans Page Load () et aussi, je dois envoyer une entrée utilisateur dans une fenêtre contextuelle, pouvez-vous m'aider avec ces contextes?
vous pouvez ouvrir une fenêtre contextuelle avec javascript et après avoir reçu la réponse de l'utilisateur, effectuez une récupération avec le résultat:
<button id="button">POP</button>
.pop{ height:100vh; width:100vw; background:#000; display: flex; justify-content: center; align-items: center; }
function pop(){ return new Promise(function(resolve, reject) { let popEle = document.createElement("div"); popEle.className="pop"; document.body.appendChild(popEle); let yes = document.createElement("button"); yes.innerHTML="YES"; yes.addEventListener("click",()=>{resolve("YES");}); popEle.appendChild(yes); let no = document.createElement("button"); no.innerHTML="NO"; no.addEventListener("click",()=>{resolve("NO");}); popEle.appendChild(no); }); } document.querySelector("#button").addEventListener("click",()=>{ pop().then((res)=>{ document.querySelector(".pop").remove(); fetch("https://mydomine.com/myback.net?result="+res); }) })
merci pour la réponse, je ne suis pas bon en JS, pouvez-vous me dire également comment appeler votre fonction java? J'ai essayé avec ceci: ScriptManager.RegisterClientScriptBlock (this, this.GetType (), "popup", "pop ();", true); mais cela n'a pas fonctionné .. et je dois aussi envoyer les entrées de l'utilisateur dans Pop-up (de la zone de texte à Pop-up).
La meilleure pratique consiste à créer une fonction javascript:
[WebMethod] public static void UpdateData(string smsCode) { }
Ensuite, ajoutez un attribut sur votre zone de texte comme ceci:
$.ajax({ type: "POST", url: "webmethods.aspx/UpdateData", cache: false, data: "{ smsCode: " + response+ "}", contentType: "application/json", success: function (response) { if (response.Success) { } } });
Puis si vous voulez envoyer cette réponse au serveur, vous pouvez utiliser ajax avec WebMethod comme:
txtsomeData.Attributes.Add("Ontextchange","popup()");
Et
function popup(){ var response=confirm("this data is validate?"); }
Sinon, vous pouvez mettez-le sur
en utilisant clientId et mettez votre code sur la fonction JS popup () après confirmation puis attrapez-le sur votre code derrière
J'espère que cela vous aidera.