ASP.NET में आसानी से HTML पोस्टबैक डेटा प्राप्त करना
लचीला, शक्तिशाली और सुरक्षित
अनुप्रयोग विकास चरणों में ऐसे कुछ उदाहरण हैं जहां हमें नियंत्रणों के सामान्य जीवन चक्र से पहले पोस्ट डेटा प्राप्त करने की आवश्यकता होती है। जबकि काम करने के लिए एक प्रमुख कोडिंग समस्या नहीं है, हम इसे जितना संभव हो उतना छोटा मॉड्यूल बनाना चाहते थे।
स्विचिंग फ़ंक्शन के साथ संयुक्त होने पर, आप स्थिति के आधार पर डेटा स्रोत या पोस्टबैक से डेटा खींचने के लिए एप्लिकेशन को बता सकते हैं।
हमने इसे कुछ मामलों में उत्पादन वातावरण में उपयोग किया है, और यह हमारे Ousia CMS एप्लिकेशन के भीतर उदारतापूर्वक उपयोग किया जाता है;
- पूरी तरह से अद्यतन करने योग्य एएसपी बनाना:ग्रिड व्यू नियंत्रण, लगभग एक्सेल शीट को अनुकरण करना
- कस्टम फॉर्म एएसपी सेट करना: त्रुटियों के बिना चयनित मानों को ड्रॉपडाउन करें
- पेलोड को कम करने के लिए अनुप्रयोगों से सत्र स्थिति को हटाना
- प्रारंभिक एप्लिकेशन अपडेट करना (नियंत्रण पूरी तरह से बनने से पहले)
- अपने डेटा को व्यवस्थित करें, सही डेटा प्रकार लौटाएं।
हम नीचे दिए गए कोड को सेट करेंगे, और उसके बाद कुछ विवरण में जाएंगे।
ASP.NET
Public Shared Function GetPostBackValue(ByVal r As HttpRequest, c As Control) As String Dim ret As String = "" If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c.UniqueID)) Then ret = r.Form.Item(c.UniqueID) Return ret End Function Public Shared Function GetPostBackValueString(ByVal r As HttpRequest, c As String) As String Dim ret As String = "" If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c)) Then ret = r.Form.Item(c) Return ret End Function Public Shared Function GetPostBackDate(ByVal r As HttpRequest, c As Control) As String Dim ret As String = "" If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c.UniqueID)) Then ret = r.Form.Item(c.UniqueID) Dim retS As String = "" If IsDate(ret) Then retS = ret Return retS End Function Public Shared Function GetPostBackDateString(ByVal r As HttpRequest, c As String) As String Dim ret As String = "" If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c)) Then ret = r.Form.Item(c) Dim retS As String = "" If IsDate(ret) Then retS = ret Return retS End Function Public Shared Function GetPostBackCheck(ByVal r As HttpRequest, c As Control) As Boolean Dim ret As String = "" If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c.UniqueID)) Then ret = r.Form.Item(c.UniqueID) Dim retS As Boolean = False If ret = "on" Then retS = True Return retS End Function Public Shared Function GetPostBackCheckString(ByVal r As HttpRequest, c As String) As Boolean Dim ret As String = "" If Not IsNothing(r.Form) Then If Not IsNothing(r.Form.Item(c)) Then ret = r.Form.Item(c).ToString End If End If Dim retS As Boolean = False If ret = "on" Or ret = "True" Or ret = "true" Or ret = "1" Then retS = True Return retS End Function Public Shared Function UpdateValueSwitch(u As Boolean, d As String, p As String) As String Dim ret As String = "" If u = True Then If p = "" Then ret = d Else ret = p End If Else ret = d End If Return ret End Function Public Shared Function ClearInt(v As String) As Int64 Dim i As Int64 = 0 If IsNumeric(v) Then i = v Return i End Function Public Shared Function ClearDou(v As String) As Double Dim i As Double = 0 If IsNumeric(v) Then i = v Return i End Function Public Shared Function SQLStr(v As String) As String Dim i As String = "NULL" If Not IsNothing(v) Then If v <> "" Then i = "N'" + Replace(v, "'", "''") + "'" Return i End Function Public Shared Function SQLInt(v As String) As String Dim i As String = "NULL" If Not IsNothing(v) Then If IsNumeric(v) = True Then i = Replace(v, "'", "''") Return i End Function Public Shared Function SQLDate(v As String) As String Dim i As String = "NULL" If Not IsNothing(v) Then If IsDate(v) = True Then i = "'" + Date.Parse(v).ToString("yyyy-MM-dd HH:mm:ss") + "'" Return i End Function Public Shared Function SQLBit(v As String) As String Dim i As String = "0" If Not IsNothing(v) Then If v = "True" Then i = "1" Return i End Function
यह क्या कर रहा है
हम जानते हैं कि अधिकांश लोग यहां कुछ उदाहरण लेने आते हैं और फिर इसे वहां की जरूरतों के अनुसार ढाल लेते हैं, लेकिन आप में से जो लोग यह जानना चाहते हैं कि यह क्या कर रहा है, पढ़ते रहें।
GetPostBackValue, GetPostBackCheck और GetPostBackDate पास किए गए मानों से प्रासंगिक मान लौटाएगा, जो अनुरोध हैं (सभी पोस्ट की गई जानकारी शामिल है), और नियंत्रण (फॉर्म मान)। चेक और दिनांक संस्करण केवल प्रदान किए गए डेटाटाइप की जांच करते हैं जो प्रासंगिक है।
ClearInt, ClearDou, ClearDate एक स्ट्रिंग से संबंधित डेटाटाइप लौटाता है, जो डेटा को असाइन करने के लिए एक मूल स्विच के रूप में उपयोग किया जाता है जिसे सेट प्रकार की आवश्यकता होती है।
SQLStr, SQLInt, SQLBit और SQLDate को संशोधक के रूप में उपयोग किया जाता है ताकि किसी भी संभावित SQL इंजेक्शन हमलों को रोकने वाले गतिशील SQL के लिए स्ट्रिंग वापस कर सकें।
UpdateValueSwitch केवल प्रदान किए गए सही या गलत पर निर्भर रिटर्न मान सेट करता है, जब p मान रिक्त होने पर d (डिफ़ॉल्ट) मान p (पोस्टबैक) मान को ओवरराइड करता है।