दिलचस्प पोस्ट
जावा में एक फ़ाइल का माइम प्रकार प्राप्त करना रचनाकारों में इसका उपयोग करते हुए प्रोटोटाइप बनाम तरीकों को परिभाषित करना – वास्तव में एक प्रदर्शन अंतर है? गणितीय अभिव्यक्तियों का मूल्यांकन करने का सर्वोत्तम और सबसे छोटा तरीका पीडीएफ। जेएस: यूआरएल के बजाए एक बेस 64 फाइल स्रोत का उपयोग कर एक पीडीएफ फाइल का प्रतिपादन घुमाए गए बफ़ेदार इमेज जेनरेटर के अंदर IIS 7, विंडोज 7 पर एएसपी.नेट 4.0 को एप्लीकेशन पूल में कैसे जोड़ें I यूट्यूब iframe खिलाड़ी एपीआई – ऑनस्टेट चेंज नहीं फायरिंग जावा में एक स्ट्रिंग से अंक निकालें स्थानीय स्टोरेज साफ़ करें फाइलों में खोजें: टीम फाउंडेशन सर्वर में सभी कोड खोजें PHP स्क्रिप्ट के निष्पादन समय को मापने का सटीक तरीका jqGrid पेजिंग सवाल DialogFragment से मूल्य प्राप्त करें सूचकों के सदिश का उपयोग करके वेक्टर को पुन: क्रमित करें ASP.net MVC 3 jQuery सत्यापन; अविश्वसनीय OnKeyUp अक्षम करें?

मॉडल्स की सूची के लिए रिमोट मान्यता

मैंने निम्नलिखित ट्यूटोरियल का प्रयोग किया: http://msdn.microsoft.com/en-us/library/gg508808%28VS.98%29.aspx

और सब कुछ ठीक लग रहा था, लेकिन मेरे मामले में, स्ट्रिंग उपयोगकर्ता नाम हमेशा वापस आता है। अनुसंधान के टन के बाद, मैंने पाया कि हर कोई BIND उपसर्गों की खोज करता है। यह कई परिस्थितियों में महान होगा, लेकिन यह एक नहीं है मुझे सभी गुणों और नामों की पंक्ति को ध्यान में रखना चाहिए, हालांकि लूप के लिए मेरे लिए, संपादकफॉर [i] बनाता है। यूजरनाम फ़ील्ड और यह किसी भी मॉडल की संपत्ति में मैप नहीं करता है।

प्रश्न: मुझे लगता है कि मैं [i] को मैप करना चाहता हूं। यूज़रनेम के उपयोगकर्ता का नाम जहां मैं 0-अनन्तता से कोई संख्या है, इसलिए जब यह मिलता है, तो मूल्य को क्रिया से ठीक से पारित किया जाता है मैं यह कैसे करु? अगर यह गलत है, तो मैं तालिका में एक विशिष्ट पंक्ति के लिए इसे क्या मान्य करता हूं?

@for (var i = 0; i < Model.Count; i++) { BLAH BLAH BLAH CODE FOR BUILDING TABLE ROWS <td> @Html.EditorFor(modelItem => Model[i].Username) </td> } 

चूंकि मैं तांत्रिक रूप से रिकॉर्ड कर सकता हूं, यदि हजारों रिकॉर्ड नहीं हैं, तो मैं सभी 1000 के लिए बाध्यकारी नहीं होगा PREFIX। मैं यहाँ मौलिक रूप से कुछ खो रहा हूँ? मैं एएसपी.नेट एमवीसी के लिए नया हूँ और मुझे वेबफॉर्म के लिए उपयोग किया जाता है, इसलिए मुझे लगता है कि कभी-कभी मैं अवधारणाओं को मिला रहा हूँ और जो कुछ भी गलत है वह पूरी तरह गलत है।

संपादित करें: मैंने इसे निम्नलिखित करके तय किया है, लेकिन यह सुनिश्चित नहीं है कि यह सबसे अच्छा विचार है। मैं [i] उपसर्ग के बिना फील्डनाम के बराबर पैरामीटर सेट करता हूं, लेकिन फिर भी [i] उपसर्ग के साथ तत्व पुनः प्राप्त करता हूं। जावास्क्रिप्ट मेरी तरफ नहीं है इसलिए कृपया मुझे बताएं कि यह भयानक है।

 adapters.add("remote", ["url", "type", "additionalfields"], function (options) { var value = { url: options.params.url, type: options.params.type || "GET", data: {} }, prefix = getModelPrefix(options.element.name); $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { var paramName = fieldName.substr(fieldName.lastIndexOf(".") + 1); var actualFieldName = appendModelPrefix(fieldName, prefix) value.data[paramName] = function () { return $(options.form).find(":input").filter("[name='" + escapeAttributeValue(actualFieldName) + "']").val(); }; }); setValidationValues(options, "remote", value); }); 

वेब के समाधान से एकत्रित समाधान "मॉडल्स की सूची के लिए रिमोट मान्यता"

आपने मॉडल या नियंत्रक के लिए अपना कोड पोस्ट नहीं किया है, लेकिन मान लें कि आपके पास एक RemoteAttribute संपत्ति RemoteAttribute लागू है, उदाहरण के लिए

 public class MyModel { [Remote("IsValidUserName", "Person")] public string Username { get; set; } } 

PersonController में एक विधि के साथ

 public JsonResult IsValidUserName(string Username) { .... } 

और दृश्य

 @model List<Person> ... @for (var i = 0; i < Model.Count; i++) { @Html.EditorFor(m => m[i].Username) } 

यह HTML जैसे उत्पन्न करेगा

 <input name="[0].UserName" ... /> <input name="[1].UserName" ... /> 

दुर्भाग्य से, jquery-validate पदों में remote विधि के नाम और मूल्य के तत्व वापस इतना है कि एजेक्स कॉल की तरह दिखता है

 $.ajax({ url: '/Person/IsValidUserName', data: { [0].UserName: 'someone@somewhere.com' }, ... 

जो बाँध नहीं करेगा

मैंने इसे संभावित समाधान के साथ कोडप्लेक्स पर एक समस्या के रूप में बताया है इस दौरान आप jquery-validate.js फ़ाइल में remote विधि को निम्नानुसार संशोधित कर सकते हैं

 remote: function(value, element, param) { .... var data = {}; // data[element.name] = value; data[element.name.substr(element.name.lastIndexOf(".") + 1)] = value; // add this 

यह उपसर्ग पट्टी करेगा ताकि पोस्ट किया गया डेटा हो

  data: { UserName: 'someone@somewhere.com' }, 

और विधि से सही तरीके से बाँध लेंगे।