I'm looking for the most efficient / standard way of passing data between client-side JavaScript code and C# code behind an ASP.NET application. I've been using the following methods to achieve this but they all feel a bit of a fudge.To pass data from JavaScript to the C# code is by setting hidden ASP variables and triggering a postback:<asp:HiddenField ID=RandomList runat=server />function SetDataField(data) {      document.getElementById('<%=RandomList.ClientID%>').value = data;}Then in the C# code I collect the list:protected void GetData(object sender, EventArgs e){      var _list = RandomList.value;}Going back the other way I often use either ScriptManager to register a function and pass it data during Page_Load:ScriptManager.RegisterStartupScript(this.GetType(), Set,get(Test();,true);or I add attributes to controls before a post back or during the initialization or pre-rendering stages:Btn.Attributes.Add(onclick, DisplayMessage(Hello););These methods have served me well and do the job, but they just don't feel complete. Is there a more standard way of passing data between client side JavaScript and C# back-end code?I've seen some posts like this one that describe HtmlElement class; is this something I should look into?
How should data be passed between client-side Javascript and C# code behind an ASP.NET app?
web development;c#;.net;javascript;asp.net