Obtenir la valeur d'un champ caché
J'ai un ASP.NET page avec trois champs cachés. (Juste on le ferait si je peux l'obtenir pour fonctionner. Il suffit de montrer que j'ai essayé plusieurs choses.)
<input type="hidden" id="hiddenSkillId1" runat="server" />
<input type="hidden" id="hiddenSkillId2" />
<asp:HiddenField ID="hiddenSkillId3" runat="server"/>
Moi aussi j'ai une fonction JavaScript qui est appelé par un AJAXControlToolKit.AutoCompleteExtender.OnClientItemSelected événement:
<script type="text/javascript">
function SkillPartialMatchSelected(source, eventArgs ) {
document.getElementById("ctl00_Content_hiddenSkillId1").Value = eventArgs.get_value();
document.getElementById("hiddenSkillId2").Value = eventArgs.get_value();
document.getElementById("ctl00_Content_hiddenSkillId3").Value = eventArgs.get_value();
}
</script>
À l'aide d'un point de rupture et d'inspecter les valeurs, j'ai confirmé que les vallées sont sur le côté Client.
Enfin j'ai le C# code-behind de la page qui est connecté à un LinkButton événement OnClick.
protected void AddSkillToProspect(object sender, EventArgs e)
{
string selectedKey1 = Request.Form[hiddenSkillId1.ClientID];
string selectedKey2 = Request.Form["hiddenSkillId2"];
string selectedKey3 = Request.Form[hiddenSkillId3.ClientID];
string selectedItem = SkillNameBox.Text.Trim();
...
}
Tous les trois selectedKey valeurs sont nulles, mais selectedItem de la valeur de la ASP.NET Édition de Texte a une valeur.
De ce que j'ai lu, l'une de ces travaux. Ai-je raté quelque chose? Que puis-je faire pour obtenir la valeur d'une fonction JavaScript côté client vers le serveur?
Si je savais ce que je faisais, lol, oui. J'ai travaillé ancien héritage de 8 ans, tout à l'heure de l'apprentissage de web dev. J'ai essayé ce que vous avez suggéré sur la base de la réponse ci-dessous, n'a pas fonctionné. Il a couru bien, mais les données enregistrées sur le côté client ne voit pas sur le côté serveur.
OriginalL'auteur Steve Wash | 2012-07-26
Vous devez vous connecter pour publier un commentaire.
Le problème est lié à la sensibilité à la casse en JavaScript. Même si vous avez réglé le .La valeur de ces champs, qui n'est pas le même que l' .de la valeur. Changer votre javascript pour la .valeur et vous devriez être tous ensemble.
OriginalL'auteur tgolisch
votre hiddens contrôles ont
runat=server
sur leur signifie qu'ils sont en contrôle de serveur et vous pouvez y accéder par leur id dans votre code derrièrede cette façon, la différence
hiddenSkillId1
est un htmlserver de contrôle,hiddenSkillId2
html normal de contrôle et celui-cihiddenSkillId3
est un asp.net contrôleDe sorte s'il vous plaît essayer de l'utiliser de cette façon
merci de me montrer le code ou je n'ai pas l'esprit si vous voulez soulever une nouvelle question
Sa VS paramètre quelque part. Il doit être défini à True sur mon portable, où j'ai travaillé hier. Je peux débogage du Javascript maintenant la partie (sur mon portable) et son à frapper le point d'arrêt. Les valeurs sont attribuées aux champs cachés sur le côté client, mais son "" sur le côté serveur.
OriginalL'auteur HatSoft