संतुष्ट थीं मैं एएसपी.नेट कोर एमवीसी का उपयोग कर एक वेबसाइट बना रहा हूं।अस्पष्ट क्रिया अपवाद: एकाधिक क्रियाएं मेल खाते हैं। निम्नलिखित कार्रवाइयां मार्ग डेटा से मेल खाती हैं और सभी बाधाएं
AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:
Web.Controllers.ChangeEventsController.Create (Web)
Web.Controllers.ProductsController.CreateChangeEvent (Web)
यह कैसे मैं अपने ProductsController के लिए index.cshtmlm में मेरी कार्रवाई परिभाषित किया गया है:: जब मैं एक कार्रवाई पर क्लिक करें मैं इस त्रुटि मिलती है
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
:
<a asp-controller="ChangeEvents" asp-action="Create" asp-route-id="@item.Id">Create Change Event</a>
यहाँ मेरी मार्ग है
// ChangeEventsController
[HttpGet("{id}")]
public IActionResult Create(Guid id)
// ProductsController
[HttpGet("{id}")]
public IActionResult CreateChangeEvent(Guid id)
:
यहाँ कैसे मैं कार्रवाई में परिभाषित किया गया है
मैंने क्या गलत किया है?
अद्यतन
आपकी प्रतिक्रिया के लिए धन्यवाद @MegaTron, हालांकि मुझे पता है कि मैं क्यों अलग नियंत्रकों के लिए एक ही कार्रवाई पथ नहीं हो सकते करना चाहते हैं। मुझे लगता है कि आपके द्वारा प्रस्तावित समाधान अच्छी तरह से स्केल नहीं करेगा यदि मेरे पास कई नियंत्रक हैं जो प्रत्येक संस्था बनाते हैं।
आप IShouldNotNeedThisIThink मार्ग घोषणा की जरूरत नहीं है। – Klinger
क्या मुझे उस मार्ग की आवश्यकता है? – Zeus82
सबसे सरल मामले में आपको केवल डिफ़ॉल्ट की आवश्यकता है। – Klinger