Définition d'une variable de session avant de AutoPostBack incendies dans un asp:Button
-
11-12-2019 - |
Question
Comment pourrais-je aller sur la configuration d'une variable de session à partir du clic sur un ASP:Button devant un AutoPostBack événement se déclenche.
Voici ce que j'ai en ce moment, mais je ne suis pas exactement sûr que je suis en train de faire de ce droit:
<asp:Button ID="CommitBTN" runat="server" PostBackUrl="~/MMR_Home.aspx"
onclick="CommitBTN_Click" UseSubmitBehavior="true"
OnClientClick='<% string temp1 = "true"; Session["ClickedFlag"] = temp1; %>' Text="Commit Changes to Database" />
Serait-ce la bonne façon de procéder à cette action, ou vais-je à elle complètement tort?
EDIT:
Changé ma balise button à ceci:
<asp:Button ID="CommitBTN" runat="server" PostBackUrl="~/MMR_Home.aspx"
onclick="CommitBTN_Click" OnClientClick="document.getElementById('<%= Hidden.ClientID
%>').value='1'" UseSubmitBehavior="true" Text="Commit Changes to Database" />
Je reçois ce que mon erreur:
Erreur d'exécution Microsoft JScript:Impossible de définir la valeur de la propriété "valeur":l'objet est null ou undefined
La solution
Utilisez ceci:
Inside ASPX Fichier:
<form runat="server">
<asp:Button ID="CommitBTN" runat="server" Text="Button" onclick="CommitBTN_Click" OnClientClick="document.getElementById('HiddenField').value='Ram'"/>
<asp:HiddenField ID="HiddenField" runat="server" />
</form>
ou
<script type="text/javascript">
function setMyHiddenField(myValue) {
document.getElementById('HiddenField').value = myValue;
}
</script>
<form runat="server">
<asp:Button ID="CommitBTN" runat="server" Text="Button" onclick="CommitBTN_Click" OnClientClick="setMyHiddenField('Ram')"/>
<asp:HiddenField ID="HiddenField" runat="server" />
===================================================================
protected void CommitBTN_Click(object sender, EventArgs e)
{
Session["ClickedFlag"] = HiddenField.Value;
Response.Write(Session["ClickedFlag"]);
}
Il est facile de répliquer "RAM" avec votre valeur.;)
Vous pouvez modifier RAM en Temp1 EASY:
ou vous pouvez appeler cette fonction sur vos autres événements de contrôle Befor COMTTBTN pressé
Autres conseils
L'utilisation d'un
Hidden Field
de contrôle.Mise à jour le
Hidden Field
à 1 BoutonClient
Cliquez sur.Mise à jour le
Session Value
dans lePage Load' event. The Value will be 1 then update the Session variable and set the
Champ Cachévalue to 0 underneath the
Variable De Session` De Mise À Jour.La raison pour l'Utilisation de
Page Load
l'événement, c'est que en cliquant sur leButton
comme par lepage life cycle
la page des événements comme PreInit, Init, InitComplete, de la Précharge, de la Charge s'exécute avant l'execution
deButton
De contrôle.
Page events
l'exécution se déroule comme ci-dessous..
- Preinit
- Init
- InitComplete
- Précharge
- Charge
- Le Contrôle De L'Événement
- Charge Complète
- Avant De Rendre
Espérons que cela vous aidera...