2008-11-07 25 views
7

में मॉडल बाइंडिंग मैंने अपने वेब एप्लिकेशन को पूर्वावलोकन 3 से बीटा 1 में परिवर्तित कर दिया है और अब फ्रेमवर्क के नए कार्यों को उपयोग करने की कोशिश कर रहा हूं। उनमें से एक मॉडलबाइंडिंग है।एएसपीनेट एमवीसी बीटा 1

इस विशेष परिस्थिति के लिए मैंने एक वर्ग बनाया है जो अभी (सरल के लिए) सरल प्रकार के गुणों का एक समूह है। यदि मैं टेक्स्टबॉक्स के समूह के साथ एक फॉर्म बनाता हूं, तो मैं फ्रेमवर्क को इन फ़ील्ड के साथ सर्चबैग उदाहरण भरना चाहता हूं।

  • मैं कहां से शुरू करूं? क्या यह व्यवहार बॉक्स से बाहर है या क्या मैं SearchBagBinder लागू करता हूं? मेरे पास IModelBinder पर पर एक त्वरित रूप से देखा गया था लेकिन इसके चारों ओर मेरे सिर को लपेट नहीं सकता है और डिफ़ॉल्ट मॉडेलबिंडर स्रोत मुझे कोई बुद्धिमान नहीं बनाता है।
  • यह मॉडल बाइंडिंग कॉन्टेक्स्ट क्या है?
  • मैं अपने फॉर्म फ़ील्ड तक कैसे पहुंचूं?
  • क्या होगा यदि मान पर किसी फ़ॉर्म द्वारा पास नहीं किए गए हैं बल्कि URL सीधे दर्ज कर रहे हैं?
  • मुझे इस पर जानकारी कहां मिलती है (अधिकांश ब्लॉग पुराना है)? मैंने सोचा कि मैंने एक बार फिल द्वारा एक पोस्ट पढ़ा है, लेकिन मैं नहीं देख सकता हूं।

किसी भी मदद की सराहना की जाती है।

+0

3 वोट, दो सितारे, कोई जवाब नहीं :( –

+0

3 वोट क्योंकि 3 लोगों ने सोचा कि यह एक अच्छा सवाल था, 2 सितारे क्योंकि 2 लोगों ने इसे एक पसंदीदा प्रश्न के रूप में बनाया और जवाबों को ट्रैक करने में पूर्णांक दिया गया। – TheCodeJunkie

+0

मुझे पता है कि क्या सितारों और वोटों के लिए हैं .. मैं सिर्फ एक लड़का था जो उत्तर के लिए मेरी ज़रूरत को पूरा करता था। –

उत्तर

3
  • मैं कहां से शुरू करूं? क्या यह व्यवहार बॉक्स से बाहर है या क्या मैं SearchBagBinder लागू करता हूं? मेरे पास IModelBinder पर पर एक त्वरित रूप से देखा गया था लेकिन इसके चारों ओर मेरे सिर को लपेट नहीं सकता है और डिफ़ॉल्ट मॉडेलबिंडर स्रोत मुझे कोई बुद्धिमान नहीं बनाता है।

यह बॉक्स से बाहर है। आप जो भी करना चाहते हैं उसे प्राप्त करने के लिए आप या तो अपडेटमोडेल या मॉडलबिंडर का उपयोग कर सकते हैं।

  • यह मॉडल बाइंडिंग कॉन्टेक्स्ट क्या है?

इसमें आपके मॉडल से बाध्य होने के अनुरोध के लिए सभी आवश्यक जानकारी शामिल हैं। कंट्रोलर कॉन्टेक्स्ट और एक्शनफिल्टर कॉन्टेक्स्ट की तरह, यह मूल रूप से मॉडलबिन्डर की स्थिति है और जो भी आप चाहते हैं उसे करने के लिए आवश्यक सभी जानकारी शामिल है, यदि आप मॉडलबिंडर के लिए एएसपी.नेट एमवीसी टीम की सिफारिशों का पालन करते हैं।

  • मैं अपने फॉर्म फ़ील्ड तक कैसे पहुंचूं?
context.HttpContext.Request.Forms["myformfield"]; 

या

foreach (var field in context.HttpContext.Request.Forms.Keys) { 
    var value = context.HttpContext.Request.Forms[field]; 
} 
  • मूल्यों एक रूप से पर पारित नहीं कर रहे हैं तो क्या होगा बल्कि सीधे एक URL दर्ज करके?

तुम दोनों फार्म और QueryString सिर्फ दोनों संग्रह के माध्यम से पाश की जाँच करने की जरूरत है।

foreach (var field in context.HttpContext.Request.Forms.Keys) { 
    var value = context.HttpContext.Request.Forms[field]; 
} 
foreach (var field in context.HttpContext.Request.QueryStrings.Keys) { 
    var value = context.HttpContext.Request.QueryStrings[field]; 
} 

या आप कर सकते हैं परम जो शामिल होंगे, फार्म, QueryString, हेडर, आदि के माध्यम से लूप

foreach (var field in context.HttpContext.Request.Params.Keys) { 
    var value = context.HttpContext.Request.Params[field]; 
} 
  • कहाँ मैं इस पर अप-टू-डेट जानकारी मिल कर * (अधिकांश ब्लॉग पुराना हैं)? मैंने सोचा कि मैंने एक समय में फिल द्वारा एक पोस्ट पढ़ा है, लेकिन मैं नहीं देख सकता हूं।

आप इसे सही फिल ASP.NET MVC के प्रधानमंत्री के रूप में जानकारी के लिए सबसे अच्छी जगह है।

+0

मैंने कभी नहीं पाया कि इन ट्यूटोरियल किस बारे में बात कर रहे थे जब उन्होंने HttpContext का उल्लेख किया था। मुझे वह संपत्ति नहीं मिली .. जब तक मैंने सिस्टम जोड़ा नहीं। वेब। मेरे संदर्भों के लिए रूटिंग! दोह! धन्यवाद एक गुच्छा –

संबंधित मुद्दे