दिलचस्प पोस्ट
मैं जावा प्रिंट उद्धरण कैसे बना सकता हूं, जैसे "हैलो"? मैक पता के लिए एक नियमित अभिव्यक्ति क्या है? OpenCV – मॉड्यूल cv2 नहीं मिल सकता है मिश्रित शब्द-संख्या-संख्या स्ट्रिंग्स की मानवताबद्ध या प्राकृतिक संख्या छँटाई PHP में एकल-उद्धृत और डबल-उद्धृत स्ट्रिंग्स में क्या अंतर है? एचटीएमएल 5 वीडियो को डाउनलोड होने से रोकें (सहेजे गए पर राइट-क्लिक)? जांचें कि क्या कोई छवि लोड की गई है (कोई त्रुटि नहीं) JavaScript में .on ('click') बनाम vs.click () के बीच अंतर। मैं विभाजन को फ्लोटिंग पॉइंट के रूप में कैसे बांट सकता हूं? डिविजन 0 से नीचे गोलाई करता है जावास्क्रिप्ट फॉर्म सबमिट करें – पुष्टि करें या सबमिशन डायलॉग बॉक्स रद्द करें जावास्क्रिप्ट डबल बृहदान्त्र (बाइंड ऑपरेटर) छवि के पहलू अनुपात को बनाए रखते हुए आप <div> को भरने के लिए एक छवि कैसे बढ़ाएं? PHP SimpleXML – एक्सपेथ नोड हटाएं प्रति चक्र में अधिकतम 4 एफएलओपी सैद्धांतिक अधिकतम कैसे प्राप्त करूं? लूप के लिए सूची प्रविष्टियों को कैसे संशोधित करें?

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

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

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