2016-04-29 12 views
7
के रूप में केंडो MVC सहायकों के CRUD JSON का उपयोग कर बनाने के लिए

कैसे contentType

@(Html.Kendo().DropDownListFor(model => model.ServiceID) 
 
    .OptionLabelTemplate("#=optionLabel#") 
 
    .ValueTemplate("#=Code#(#=Rate#) - #=Description#") 
 
    .Template("#=Code#(#=Rate#) - #=Description#") 
 
    .DataTextField("Code") 
 
    .DataValueField("ServiceID") 
 
    .DataSource(d => 
 
    { 
 
    d.Read(read => 
 
    { 
 
     read.Action("GetServiceRepository", "Service").Data("...") 
 
     .Type(HttpVerbs.Post); 
 
    }); 
 
    }) 
 
    .OptionLabel(new { optionLabel = Resources.Wording.SelectOne, ServiceID = 0, Rate = 0, Code = "" }) 
 
)

मैं एक केंडो DropDownList जो एचटीएमएल सहायक रास्ते के बजाय JQuery तरीका का उपयोग कर प्रारंभ की है।

क्या JSON का उपयोग कर के बजाय सामग्री टाइप के रूप में/सेवा/GetServiceRepository को पोस्ट अनुरोध करने के लिए वैसे भी है?

+0

Plz आपके पोम्लेम और आपके द्वारा उपयोग किए जा रहे डेटा के लिए कुछ विवरण प्रदान करता है। – Rajdeep

+0

मुझे कभी भी 'ContentType' को स्पष्ट रूप से सेट नहीं करना पड़ा और मैं हमेशा JSON का उपयोग करता हूं। क्या आपको यकीन है कि यह आपकी सेवा के अंत में कुछ नहीं है? –

उत्तर

2

यह केंडो MVC सहायक सामग्री प्रकार की स्थापना का समर्थन नहीं करता। यह एमवीसी नियंत्रकों और केंडो एमवीसी सर्वर एपीआई के साथ काम करने के लिए डिज़ाइन किया गया है और इसलिए सभी अनुरोध विकल्प सेट नहीं किए जा सकते हैं। सभी विकल्पों को सेट करने में सक्षम होने के लिए आपको जावास्क्रिप्ट प्रारंभिकरण का उपयोग करना चाहिए। सहायक के बाद जावास्क्रिप्ट के माध्यम से विकल्पों को संशोधित करना संभव है जैसे कि हेल्पर प्रारंभ हो चुका है उदा।

$(function() { 
    var grid = $("#grid").data("kendoGrid"); 
    grid.dataSource.transport.options.update.contentType = "application/json"; 
    //override the parameterMap function in order to convert the data to JSON 
    grid.dataSource.transport.parameterMap = function (options, type) { 
     return kendo.stringify(options); 
    } 
}); 
1

आप डेटासोर्स के कस्टम धाराप्रवाह विधि का उपयोग कर ContentType प्रॉपर्टी सेट कर सकते हैं। मैं संस्करण 2016.2.504 का उपयोग करता हूं।

उपयोग है:

@(Html.Kendo().DropDownListFor(model => model.ServiceID) 
    .DataTextField("Text") 
    .DataValueField("Value") 
    .DataSource(d => d.Custom() 
    .Transport(c => c.Read(
     read => read.ContentType("xml/json") 
      .Data("...") 
      .Type(HttpVerbs.Post) 
      .Action("GetServiceRepository", "Service"))) 
)) 
+0

यह मान्य लगता है लेकिन मैं 2015 क्यू 1 संस्करण का उपयोग कर रहा हूं ... – shole

+0

आपने विस्तारित नहीं किया कि आप किस केंडो संस्करण का उपयोग कर रहे थे। मुझे लगता है कि यह वह जवाब है जिसे आप ढूंढ रहे हैं। आखिरकार आप बगफिक्स के कारण 2016 संस्करण का उपयोग करेंगे। – fduman

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