Setzen Sie die Text-Eigenschaft von asp: label auf die RICHTIGE Weise in Javascript
Ich habe eine Reihe von Textfeldern in einem Formular. Wenn der Benutzer Zahlen in diese Textfelder einfügt, werden Berechnungen durchgeführt und<asp:Label>
Steuerelemente werden über JavaScript aktualisiert, um diese Berechnungen widerzuspiegeln:
<code>document.getElementById('<%=TotalLoans.ClientID %>').innerHTML = TotalLoans; </code>
Dadurch wird die Benutzeroberfläche korrekt aktualisiert. Wenn ich jedoch versuche, auf den Wert im Codebehind zuzugreifen, wird derText
Eigentum ist leer. Das macht wohl Sinn, da ich das aktualisiert habeinnerHTML
Eigenschaft über das JavaScript.
<code>//TotalLoans.Text will always be equal to "" in this scenario double bTotalLoans = string.IsNullOrEmpty(TotalLoans.Text) ? 0.00 : Convert.ToDouble(TotalLoans.Text); </code>
Wie aktualisiere ich dieText
Eigentum der<asp:Label>
über JavaScript so, dass ich die Eigenschaft im Codebehind lesen kann?
Dies ist ein kleines Problem in einem großen Formular, das 41 Beschriftungen enthält, von denen jede die Ergebnisse einiger Berechnungen für den Benutzer anzeigt. Nachdem ich den Rat von FishBasketGordo befolgt hatte, konvertierte ich meine<asp:Label>
zu einem Behinderten<asp:TextBox>
. Ich setze den Wert des neuen Textfeldes so:
<code> document.getElementById('<%=TotalLoans.ClientID %>').value = TotalLoans; </code>
Wiederum ist im Codebehind der Wert vonTotalLoans.Text
ist immer gleich "".
Es macht mir nichts aus, meine Herangehensweise zu ändern, aber hier ist der springende Punkt.
Ich verwende JavaScript, um die Eigenschaftswerte einiger Steuerelemente zu bearbeiten. Ich muss in der Lage sein, auf diese manipulierten Werte aus dem Code dahinter zuzugreifen, wenn auf "Senden" geklickt wird.
Irgendwelche Ratschläge, wie ich das machen kann?
Update 2Bezüglich der Antwort von @James Johnson kann ich den Wert nicht mit abrufen.innerText
Eigentum wie vorgeschlagen. ich habeEnableViewState
auf true setzen auf<asp:Label>
. Fehlt mir noch etwas?
Ich verstehe nicht, warum ich, wenn ich ein Textfeld eingebe und das Formular abschicke, auf den Wert im Codebehind zugreifen kann, aber wenn ich den Text eines Textfelds oder einer Beschriftung über JavaScript programmgesteuert ändere, kann ich nicht auf den neuen Wert zugreifen .