Immer den Wert eines versteckten Feldes

Habe ich eine ASP.NET Seite mit drei versteckte Felder. (Nur einer tun würde, wenn ich es bekommen kann, zu arbeiten. Nur zeigen, dass ich versucht habe, ein paar Dinge.)

<input type="hidden" id="hiddenSkillId1" runat="server" />
<input type="hidden" id="hiddenSkillId2" />
<asp:HiddenField ID="hiddenSkillId3" runat="server"/>    

Ich habe auch eine JavaScript-Funktion, die aufgerufen wird, ist durch eine AJAXControlToolKit.AutoCompleteExtender.OnClientItemSelected Veranstaltung:

<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>

Mit einem break-point und überprüfen der Werte, ich habe bestätigt, dass die Täler werden auf der Client-Seite.

Schließlich habe ich den C# - code hinter der Seite, die verbunden ist mit einem LinkButton OnClick-Ereignis.

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();   
   ...
}

Alle drei selectedKey Werte null sind, aber die selectedItem-Wert aus der ASP.NET Text Bearbeiten einen Wert hat.

Von dem, was ich gelesen habe, sollte diese Methode funktionieren. Bin ich etwas fehlt? Was kann ich tun, um den Wert aus einer JavaScript-Funktion auf der client-Seite zurück an den server?

Brauchen Sie wirklich, um die Werte per Anfrage.Form? Würde diese Arbeit nicht zu: string selectedKey1 = hiddenSkillId1; string selectedKey3 = hiddenSkillId3; //aber es funktioniert nicht für hiddenSkillId2, weil es keine runat=server.
Wenn ich wusste, was ich Tat, lol, ja. Ich arbeite seit alten legacy für 8 Jahre, nur jetzt lernen, web dev. Ich habe versucht, was Sie vorgeschlagen, basierend auf der Antwort unten, hat nicht funktioniert. Es lief OK, aber die gespeicherten Daten auf der client-Seite nicht gesehen, auf der server-Seite.

InformationsquelleAutor Steve Wash | 2012-07-26

Schreibe einen Kommentar