Sto cercando il modo più efficiente / standard di passare i dati tra il codice JavaScript lato client e il codice C # dietro un'applicazione ASP.NET. Ho usato i seguenti metodi per raggiungere questo obiettivo, ma si sentono tutti un po 'confusi.
Passare i dati da JavaScript al codice C # è impostando variabili ASP nascoste e attivando un postback:
<asp:HiddenField ID="RandomList" runat="server" />
function SetDataField(data) {
document.getElementById('<%=RandomList.ClientID%>').value = data;
}
Quindi nel codice C # raccolgo l'elenco:
protected void GetData(object sender, EventArgs e)
{
var _list = RandomList.value;
}
Tornando indietro, uso spesso ScriptManager per registrare una funzione e passargli i dati durante Page_Load:
ScriptManager.RegisterStartupScript(this.GetType(), "Set","get("Test();",true);
oppure aggiungo attributi ai controlli prima di un postback o durante le fasi di inizializzazione o pre-rendering:
Btn.Attributes.Add("onclick", "DisplayMessage("Hello");");
Questi metodi mi hanno servito bene e fanno il lavoro, ma non si sentono completi. Esiste un modo più standard di passare i dati tra JavaScript lato client e codice back-end C #?
Ho visto alcuni post come questo che descrivono la classe HtmlElement; è qualcosa che dovrei esaminare?