
Envoyé par
lutecefalco
Je dirais que c'est natif au niveau du procole http. Ce dernier doit ajouter le name du contrôle qui submit la form
Pour les Button et ImageButton c'est effectivement le cas. Mais ce qui m'intéresse c'est le CommandArgument.
Prenons l'exemple suivant :
ASPX
<asp:button id="btXXX" runat="server" text="btXXX" onclick="btXXX_Click" />
CodeBehind
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btXXX.CommandArgument = DateTime.Now.ToString();
// Placer un break point ici et regardé la valeur.
// Disons que la date actuelle est '2010-11-22 16:04:54'
// Une fois la page transmise au client, patientez 1 minute et
// effectuez un clique sur le bouton "btXXX"
}
}
protected void btXXX_Click(object sender, EventArgs e)
{
string s = btXXX.CommandArgument;
// Placer un break point ici et regardez la valeur.
// Le contenu de "S" est bien celui que l'on avait mis au départ.
// Soit '2010-11-22 16:04:54'
// Donc cela confirme qu'il est conservé quelque part côté client
// et renvoyé vers le serveur lors du postback
} |
J'ai regardé dans la collection Request.Form, ViewState mais je n'ai jamais vu une trace du CommandArgument du bouton. Pourtant il doit bien être conservé quelque part côté client et lors d'un Postback renvoyé vers le serveur d'une certainne façon ?
Avez-vous une idée pour les Button et ImageButton de quelle façon le CommandArgument est conservé et retransmis au serveur lors du postback ?
Partager