Bir ASP.NET uygulamasının arkasındaki istemci tarafı JavaScript kodu ve C # kodu arasında veri iletmenin en etkili / standart yolunu arıyorum. Bunu başarmak için aşağıdaki yöntemleri kullanıyorum ama hepsi biraz şeker düşüyor.
JavaScript'ten C # koduna veri iletmek için, gizli ASP değişkenlerini ayarlamak ve bir geri gönderme işlemini tetiklemektir:
<asp:HiddenField ID="RandomList" runat="server" />
function SetDataField(data) {
document.getElementById('<%=RandomList.ClientID%>').value = data;
}
Sonra C # kodunda listeyi toplarım:
protected void GetData(object sender, EventArgs e)
{
var _list = RandomList.value;
}
Diğer yollardan geri dönersek, bir işlevi kaydetmek ve verileri Page_Load sırasında iletmek için genellikle ScriptManager'ı kullanırım:
ScriptManager.RegisterStartupScript(this.GetType(), "Set","get("Test();",true);
veya Bir geri göndermeden önce veya ilklendirme veya ön oluşturma aşamaları sırasında kontrollere nitelikler eklerim:
Btn.Attributes.Add("onclick", "DisplayMessage("Hello");");
Bu yöntemler bana iyi hizmet etti ve işi yaptı, ancak tam olarak hissetmiyorlar. İstemci tarafı JavaScript ile C # back-end kodu arasında veri aktarmanın daha standart bir yolu var mı?
Ben gibi bazı mesajları gördüğüm bu bir HtmlElement sınıfını tanımlamak; Bakmam gereken bir şey mi var?