Ich suche nach der effizientesten / Standardmethode zum Übertragen von Daten zwischen clientseitigem JavaScript-Code und C # -Code hinter einer ASP.NET-Anwendung. Ich habe die folgenden Methoden verwendet, um dies zu erreichen, aber sie fühlen sich alle ein bisschen verworren an.
Um Daten von JavaScript an den C # -Code zu übergeben, müssen Sie ausgeblendete ASP-Variablen festlegen und ein Postback auslösen:
<asp:HiddenField ID="RandomList" runat="server" />
function SetDataField(data) {
document.getElementById('<%=RandomList.ClientID%>').value = data;
}
Dann sammle ich im C # -Code die Liste:
protected void GetData(object sender, EventArgs e)
{
var _list = RandomList.value;
}
Umgekehrt benutze ich oft einen der beiden ScriptManager, um eine Funktion zu registrieren und ihre Daten während Page Load weiterzugeben:
ScriptManager.RegisterStartupScript(this.GetType(), "Set","get("Test();",true);
oder ich füge den Steuerelementen Attribute vor einem Beitrag zurück oder während der Initialisierungs- oder Vorbereitungsphase hinzu:
Btn.Attributes.Add("onclick", "DisplayMessage("Hello");");
Diese Methoden haben mir gute Dienste geleistet und machen den Job, aber sie fühlen sich einfach nicht vollständig an. Gibt es eine Standardmethode zum Übertragen von Daten zwischen clientseitigem JavaScript und C # -Back-End-Code?
Ich habe einige Posts wie diesen gesehen , die die HtmlElement-Klasse beschreiben. Ist das etwas, worauf ich achten sollte?