Saya mencari cara paling efisien / standar untuk mengirimkan data antara kode JavaScript sisi klien dan kode C # di balik aplikasi ASP.NET. Saya telah menggunakan metode berikut untuk mencapai ini, tetapi mereka semua merasa sedikit fudge.
Untuk meneruskan data dari JavaScript ke kode C # adalah dengan mengatur variabel ASP tersembunyi dan memicu postback:
<asp:HiddenField ID="RandomList" runat="server" />
function SetDataField(data) {
document.getElementById('<%=RandomList.ClientID%>').value = data;
}
Kemudian dalam kode C # saya mengumpulkan daftar:
protected void GetData(object sender, EventArgs e)
{
var _list = RandomList.value;
}
Kembali ke arah lain, saya sering menggunakan ScriptManager untuk mendaftarkan fungsi dan meneruskan data selama Page_Load:
ScriptManager.RegisterStartupScript(this.GetType(), "Set","get("Test();",true);
atau saya menambahkan atribut ke kontrol sebelum posting kembali atau selama tahap inisialisasi atau pra-render:
Btn.Attributes.Add("onclick", "DisplayMessage("Hello");");
Metode-metode ini telah membantu saya dengan baik dan melakukan pekerjaan itu, tetapi mereka tidak merasa lengkap. Apakah ada cara yang lebih standar untuk mengirimkan data antara sisi klien JavaScript dan kode C # back-end?
Saya telah melihat beberapa posting seperti ini yang menggambarkan kelas HtmlElement; Apakah ini sesuatu yang harus saya perhatikan?