Comment éviter de rafraîchir la page après l'événement clic du bouton dans asp.net
C'est le code suivant, la page s'actualise dès que le btninsert cliquez sur l'événement est terminé, je veux arrêter l'actualisation de la page après la btninsert est de cliquer sur
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="margin-bottom: 20px; margin-top: 20px;"><span><strong style="font-size: large;">Edit User</strong></span></div>
<div>
<span style="float: left; width: 50%;"> </span> <span style="float: left; width: 50%;">
<span style="width: 100%; float: left; text-align: right;">
<asp:Label ID="lblMessage" runat="server" Text="-"></asp:Label></span>
</span>
</div>
<div style="width: 100%; float: left;">
<hr />
</div>
<div style="width: 816px; margin-left: 5px; margin-top: 20px; height: 463px;">
<div style="width: 100%; float: left; padding-top: 15px; height: 257px; margin-left: 0px;">
<span class="Divide">
<span class="simDivide1">FullName</span>
<span class="simDivide">
<asp:TextBox ID="txtfullname" runat="server" Width="180px">
</asp:TextBox>
</span>
</span>
<span class="Divide">
<span class="simDivide1"></span>
<span class="simDivide"></span>
</span>
<span class="Divide">
<span class="simDivide1">Username</span>
<span class="simDivide">
<asp:TextBox ID="txtusername" runat="server" Width="180px">
</asp:TextBox>
</span>
</span>
<span class="Divide">
<span class="simDivide1"></span>
<span class="simDivide"></span>
</span>
<span class="Divide">
<span class="simDivide1">Password</span>
<span class="simDivide">
<asp:TextBox ID="txtpassword" runat="server" Width="180px">
</asp:TextBox>
</span>
</span>
<span class="Divide">
<span class="simDivide1"></span>
<span class="simDivide"></span>
</span>
<span class="Divide">
<span class="simDivide1">Mobile No
</span>
<span class="simDivide"><asp:TextBox ID="txtmobileno" runat="server" Width="180px">
</asp:TextBox>
</span>
</span>
<span class="Divide">
<span class="simDivide"></span>
</span>
<span class="Divide">
<span class="simDivide1">Role
</span>
<span class="simDivide"><asp:TextBox ID="txtrole" runat="server" Width="180px">
</asp:TextBox>
</span>
</span>
<script src="jquery-2.0.2.js"></script>
<script language="javascript">
function done() {
var list = document.getElementById("tid");
list.removeChild(list.lastChild);
}
function changecourse(e) {
var change = document.getElementById('mytext').value;
var i = 1;
mNewObj = document.createElement('div');
mNewObj.id = "BOX" + i;
mNewObj.style.visibility = "show";
mNewObj.innerHTML = change + " <a href='#' style='text-decoration: none; color:red' onClick='done()'> x </a> ";
document.getElementById("tid").appendChild(mNewObj);
i++
var a = document.getElementById('mytext').selectedIndex;
document.getElementById("ContentPlaceHolder1_Hidden1").value = a;
//document.getElementById("ContentPlaceHolder1_btninsert").click();
deleted();
}
function yes() {
$("#ContentPlaceHolder1_btninsert").click();
}
//function insert() {
// $.ajax({
// type: "POST",
// url: "Edituser.aspx.cs/insert",
// success: function () { alert('success'); },
// error: function () { alert('error'); }
// });
//}
function cancel() {
var select = document.getElementById('mytext');
select.remove(select.selectedIndex);
}
function deleted() {
document.getElementById("mytext").style.display = 'none';
document.getElementById("Button1").style.display = 'none';
document.getElementById("tid").style.display = 'inline';
document.getElementById("mylink").style.display = 'inline';
}
function showdiv() {
document.getElementById("mylink").style.display = 'none';
document.getElementById("mytext").style.display = 'inline';
document.getElementById("Button1").style.display = 'inline';
}
</script>
<input id="Hidden1" type="hidden" runat="server" />
</div>
<asp:Button ID="btnUpdate" runat="server" OnClick="btnUpdate_Click" Style="margin-left: 5px" Text="Edit" Width="39px" />
<br>
<br>
<asp:UpdatePanel runat="server">
<ContentTemplate>
    <div id="tid" >
</div>
<div id="di">
<a id="mylink" onclick="showdiv()">Add Depot</a>
<select id='mytext' name='mytext' style="display: none">
<option>--Select--</option>
<option>Mumbai</option>
<option>Delhi</option>
<option>Banglore</option>
<option>Ahmedabad</option>
</select>
<input type="button" id="Button1" style="display: none" onclick=" changecourse(); yes(); cancel(); return false;" value="add" />
</div>
<asp:Button ID="btninsert" runat="server" Style="display: none" OnClick="btninsert_Click" Text="Insert" ValidationGroup="C" />
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
et c'est Modifier.aspx.cs dans lequel j'ai la méthode
protected void btninsert_Click(object sender, EventArgs e)
{
string a = Hidden1.Value;
string UserId = Convert.ToString(Session["LoginId"]);
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO UserDepot (UserId,DepotId)" +
"VALUES ('" + UserId + "','" + a + "')", con);
cmd.ExecuteNonQuery();
con.Close();
}
- Pourquoi voulez-vous arrêter actualisation de la page??? Si vous le faites, alors ur SqlCommand ne sera pas exécuté... Êtes-vous en essayant de maintenir les valeurs de la page ou quoi?
Vous devez vous connecter pour publier un commentaire.
Ajouter
OnClientClick="return false;"
,ou dans le Code-behind:
Que vous utilisez
asp:Button
qui est un serveur de contrôle, poste d'arrière va se passer pour éviter qu'ils vont pourhtml
bouton,Type de
Page obtenu actualisée lors d'un voyage au serveur, et le serveur de contrôle comme Bouton a une propriété AutoPostback = true par défaut, ce qui signifie que chaque fois qu'ils ont cliqué un voyage vers le serveur sera faite.
Ensemble AutoPostback = false pour insérer un bouton, et cela fera l'affaire pour vous.
si vous avez quelques codes dans votre méthode Page_Load et vous ne voulez pas que ceux exécuter après avoir cliquez sur le bouton utiliser if(!IsPostBack) sur Page_Load
asp:Button est un serveur de contrôle et pour envoyer la requête au serveur et obtenir réponse besoin de rafraîchir la page. Vous pouvez utiliser JQuery et Ajax pour empêcher l'actualisation de la Page entière
Ensemble
MaintainScrollPositionOnPostBack="true"
dans la page de déclaration:html
javacript
code
Vous pouvez utiliser "ASP.net AJax Control toolkit" fait pour asp.net
http://www.ajaxcontroltoolkit.com/
Je pense que j'ai aussi ce problème, j'ai essayé de faire le calendrier visible après avoir cliqué sur un bouton, mais la page de garde rafraîchissant après avoir cliqué sur le bouton
Ce réellement répondu à mon problème.
Je ne peux pas voter ou de commentaire, j'ai juste rejoint DONC aujourd'hui
Vous pouvez utiliser
Ajax
pour empêcher l'actualisation de la PageQuand on a à faire défiler vers le bas d'un gridview pour sélectionner une ligne,
MaintainScrollPositionOnPostBack="true"
fera de continuer à montrer que la ligne après que l'on ait sélectionné.