मैं एक ASP.NET अनुप्रयोग के पीछे क्लाइंट-साइड जावास्क्रिप्ट कोड और C # कोड के बीच डेटा पास करने के सबसे कुशल / मानक तरीके की तलाश कर रहा हूं। मैं इसे प्राप्त करने के लिए निम्नलिखित विधियों का उपयोग कर रहा हूं, लेकिन वे सभी एक ठगना महसूस करते हैं।
जावास्क्रिप्ट से सी # कोड में डेटा पास करने के लिए छिपे हुए एएसपी चर को सेट करके और पोस्टबैक को ट्रिगर करना है:
<asp:HiddenField ID="RandomList" runat="server" />
function SetDataField(data) {
document.getElementById('<%=RandomList.ClientID%>').value = data;
}
फिर C # कोड में मैं सूची एकत्र करता हूं:
protected void GetData(object sender, EventArgs e)
{
var _list = RandomList.value;
}
किसी अन्य तरीके से वापस जाने के लिए मैं या तो ScriptManager का उपयोग किसी फ़ंक्शन को पंजीकृत करने और Page_Load के दौरान डेटा पास करने के लिए करता हूं:
ScriptManager.RegisterStartupScript(this.GetType(), "Set","get("Test();",true);
या मैं पोस्ट बैक से पहले या इनिशियलाइज़ेशन या प्री-रेंडरिंग चरणों के दौरान नियंत्रण करने के लिए विशेषताएँ जोड़ता हूँ:
Btn.Attributes.Add("onclick", "DisplayMessage("Hello");");
इन विधियों ने मुझे अच्छी तरह से सेवा दी है और काम करते हैं, लेकिन वे अभी पूरा महसूस नहीं करते हैं। क्या क्लाइंट साइड जावास्क्रिप्ट और सी # बैक-एंड कोड के बीच डेटा पारित करने का एक और मानक तरीका है?
मैंने कुछ पोस्ट इस तरह देखी हैं जो HtmlElement वर्ग का वर्णन करती हैं; यह कुछ है जिसे मुझे देखना चाहिए?