Ich habe einige Probleme beim Festlegen eines Werts für ein HiddenField in ASP.NET 4.5.Festlegen eines Werts für ein HiddenField in ASP.NET 4.5
Von dem, was ich gesehen habe, habe ich versucht, die folgenden ohne Erfolg:
In ASPX:
<asp:HiddenField ID="HiddenField" runat="server" value="" />
<script type="text/javascript">
function SetHiddenField() {
var vv = "HELLO WORLD";
document.getElementById('<%=HiddenField.ClientID%>').value = vv;
}
</script>
In Code-Behind:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "SetHiddenField", "SetHiddenField();", true);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('" + HiddenField.ClientID + "');", true);
Diese Warnungen Müll in die Client-ID.
Die andere Lösung, die ich ausprobiert habe, ist die folgende.
In .ASPX:
<asp:HiddenField ID="HiddenField" runat="server" value="" />
<script type="text/javascript">
function SetHiddenField() {
var vv = "HELLO WORLD";
document.getElementById('HiddenField').value = vv;
}
</script>
Ein Problem dabei ist, dass .value
nicht in der IntelliSense nicht existiert, nur .ValueOf
.
In Code-Behind:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "SetHiddenField", "SetHiddenField();", true);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "alert", "alert('" + HiddenField.Value + "');", true);
Es passiert nichts, wahrscheinlich ein Fehler in der JavaScript, da keine Warnung angezeigt wird.
Kann mir bitte jemand in die richtige Richtung zeigen?
In Ihrem zweiten Beispiel, das Sie immer noch das Element durch den Client-ID erhalten haben, wenn Sie die Eigenschaft auf Ihrem versteckten Feld 'ClientIDMode =" Static "' –