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?

Aktualisieren

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 2

Bezü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 .

Antworten auf die Frage(7)

Ihre Antwort auf die Frage