2015-03-06 8 views
9

मैं एक वेब एपीआई नियंत्रक में अपनी पोस्ट एक्शन से एक संपत्ति को बाहर करने की कोशिश कर रहा हूं, क्या [Bind(Exclude="Property")] एएसपीनेट वेब एपीआई के लिए कुछ है?क्या एएसपीनेट वेब एपीआई के लिए कुछ [बाइंड (बहिष्कृत = "संपत्ति")] है?

यह मेरा मॉडल है:

public class ItemModel 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 
} 

मैं, डाक कार्रवाई में ईद बाहर करने के लिए है क्योंकि यह स्वतः जेनरेट की है चाहता हूँ, लेकिन मैं अपने प्राप्त कार्रवाई में इसे वापस करने की जरूरत है।

मुझे पता है कि मेरे पास दो मॉडल हो सकते हैं, एक मेरे पोस्ट एक्शन के लिए और एक मेरे एक्शन एक्शन के लिए, लेकिन मैं इसे सिर्फ एक मॉडल के साथ करने की कोशिश कर रहा हूं।

+0

आईडी को एक निरर्थक int में सेट कर सकता है – pnm

उत्तर

0

मैं मानचित्रण मॉडल एहसान होगा, लेकिन यह जाँच करके प्राप्त किया जा सकता है यदि अनुरोध किसी ShouldSerialize विधि में एक पोस्ट है:

public class MyModel 
{ 
    public string MyProperty1 { get; set; } 
    public string MyProperty2 { get; set; } 

    public bool ShouldSerializeMyProperty2() 
    { 
     var request = HttpContext.Current.Request; 

     if (request.RequestType == "POST") return false; 

     return true; 
    } 
} 

जहाँ आपके विधि नाम संपत्ति ShouldSerialize साथ उपसर्ग का नाम है।

नोट यह JSON के लिए काम करेगा। एक्सएमएल के लिए, आपको अपनी कॉन्फ़िगरेशन में निम्न पंक्ति जोड़नी होगी:

config.Formatters.XmlFormatter.UseXmlSerializer = true; 
संबंधित मुद्दे