दिलचस्प पोस्ट
अनुलग्नक के साथ ईमेल भेजने के लिए एंड्रॉइड इन्टेंट जेएस में नियमित अभिव्यक्ति में कैरेट (^) और डॉलर का प्रतीक ($) की क्या आवश्यकता है? स्विफ्ट में तुरंत लौटें दिन के एक विशिष्ट समय पर जावास्क्रिप्ट फ़ंक्शन को कॉल करें iPhone SDK: जांचें कि क्या कोई UIAlertView दिखा रहा है VBA का उपयोग कर मानदंडों के आधार पर Excel में पंक्तियों को कैसे हटाना है? Ctypes के लिए रनटाइम पर LD_LIBRARY_PATH बदलना एंड्रॉइड में पीडीएफ़ को कनवर्ट करें डेटा गोदाम के लिए कैलेंडर तालिका डायनामिक रूप से iframe src सेट करें रेलवे 4 में autoload_paths vs eager_load_paths के बारे में भ्रमित GetSupportFragmentManager () और getChildFragmentManager () के बीच अंतर क्या है? एंड्रॉइड में बिटमैप IPhone में UITableView सेल की ऊंचाई कैसे प्रोग्रामेटिक रूप से बढ़ाना है? घोषित गुणों के लिए डॉट नोटेशन बनाम संदेश नोटेशन

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

मैंने निम्नलिखित ट्यूटोरियल का प्रयोग किया: 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); }); 

Solutions Collecting From Web of "मॉडल्स की सूची के लिए रिमोट मान्यता"

आपने मॉडल या नियंत्रक के लिए अपना कोड पोस्ट नहीं किया है, लेकिन मान लें कि आपके पास एक 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' }, 

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