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.