मैं एक एमवीसी एक्शन कंट्रोलर विधि से एक वेब एपीआई विधि कैसे कॉल कर सकता हूं। यह वह जगह है मैं क्या कोशिश कर रहा हूँ, यह मेरा नियंत्रक विधि है:मैं एमवीसी कंट्रोलर एक्शन विधि से WebApi विधि कैसे कॉल कर सकता हूं?
public ActionResult ProductDetail(long id)
{
using (var client = new HttpClient())
{
var productDetailUrl = Url.RouteUrl(
"DefaultApi",
new { httproute = "", controller = "ProductDetails", id = id },
Request.Url.Scheme
);
var model = client
.GetAsync(productDetailUrl)
.Result
.Content.ReadAsAsync<ProductItems>().Result;
return View(model);
}
}
मेरे जाल एपीआई विधि:
private ProductEntities products = new ProductEntities();
public IEnumerable<ProductItems> GetProductDetail(int ID)
{
var produc= products.ExecuteStoreQuery<ProductItems>(
"GetProductDetail @ProductID ",
new SqlParameter("@ProductID", ID));
return produc;
}
मैं इस जब कर रहा हूँ मैं अपने MVC कार्रवाई विधि में किसी त्रुटि @ वर मॉडल हो रही है कह
डेटा लौटने के बाद "Newtonsoft.Json.JsonSerializationException: deserialize नहीं कर सकते JSON सरणी" (यानी [1,2,3]) प्रकार 'ProductDetails.Models.ProductItems' में। deserialized प्रकार एक सरणी होना चाहिए या संग्रह इंटरफ़ेस जैसे Inumerable, ICollection या IList को लागू करना चाहिए। JSON arrays को deserialize करने के लिए JsonArrayAttribute को प्रकार में जोड़ने के लिए मजबूर करने के लिए। लाइन 1, स्थिति 1. "
किसी भी एक मेरी मदद कर सकते यह कर ... या मुझे किसी अन्य सबसे अच्छा तरीका सुझाव है या मुझे ठीक कर लें मैं गलत कर रहा हूँ किसी भी जहां ... मैं है लौटे दिखाने के लिए मेरे विचार में डेटा ... डेटा को मेरे नियंत्रक
मैं कक्षा/ऑब्जेक्ट नाम के लिए ProductItems के बजाय ProductItem का उपयोग करूंगा। और "var" शब्द का उपयोग इन मुद्दों को हल करने में बाधा डालता है, आईएमएचओ। – granadaCoder