मैं अधिभावी कर रहा हूँ ASP.NET MVC के Controller.HandleUnknownAction (स्ट्रिंग actionName) विधि। इसे तब कहा जा रहा है जब कोई कार्रवाई नहीं मिलती है और जब एक HTTP विधि की अनुमति नहीं होती है। मैं दोनों के बीच अंतर कैसे कर सकता हूं? जब मैं एक विधि नोट की अनुमति देता हूं तो मैं 404 वापस करना चाहता हूं और कार्रवाई नहीं मिली है और 405।एएसपी.नेट एमवीसी: नियंत्रक। हैंडल अज्ञात एक्शन 404 या 405?
5
A
उत्तर
3
सबसे आसान तरीका मैं के बारे में सोच सकते हैं कस्टम क्रिया फिल्टर बनाने के लिए है। यह बहुत AcceptVerbsAttribute
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class AllowMethodsAttribute : ActionFilterAttribute
{
public ICollection<string> Methods
{
get;
private set;
}
public AllowMethodsAttribute(params string[] methods)
{
this.Methods = new ReadOnlyCollection<string>(methods);
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
string httpMethodOverride = filterContext.HttpContext.Request.GetHttpMethodOverride();
if (!this.Methods.Contains(httpMethodOverride, StringComparer.InvariantCultureIgnoreCase))
{
filterContext.Result = new HttpStatusCodeResult(405);
}
}
}
की तरह, विधि
public class HttpPostFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!(filterContext.RequestContext.HttpContext.Request.GetHttpMethodOverride().Equals("post", StringComparison.InvariantCultureIgnoreCase)))
{
filterContext.Result = new HttpStatusCodeResult(405);
}
}
}
या बेहतर, इसके बारे में अधिक सामान्य संस्करण बनाने के लिए अनुमति नहीं है यदि आप HTTP स्थिति कोड परिणाम लौटने की अनुमति देने और
[AllowMethods("GET")]
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
की तरह उपयोग होगा
अनुकूलित HttpVerbs लेने के लिए के रूप में पैरामीटर आप पर निर्भर है विशेषता।
संबंधित मुद्दे
- 1. एएसपी.नेट एमवीसी एक्शन
- 2. एएसपी.नेट एमवीसी - एकाधिक चेकबॉक्स हैंडल
- 3. एएसपी.नेट एमवीसी एक्शन
- 4. एएसपी.नेट एमवीसी में, नियंत्रक की एक्शन विधि से पहले या नियंत्रक में जेएसओएन को deserialize
- 5. एएसपी.नेट एमवीसी - सहायक नियंत्रक और एक्शन नाम सहायक में
- 6. .net एमवीसी नियंत्रक एक्शन विधि
- 7. एएसपी.नेट एमवीसी जावास्क्रिप्ट एक्शन रिसेट
- 8. प्रति नियंत्रक/एक्शन विधि
- 9. एमवीसी नियंत्रक सूचकांक कभी-कभी 404?
- 10. एएसपी.नेट एमवीसी एक कस्टम एक्शन फ़िल्टर
- 11. एएसपी.नेट एमवीसी - रेस्पोजिटरी/सेवा/नियंत्रक
- 12. एएसपी.नेट एमवीसी नियंत्रक क्रियाएं डिजाइन
- 13. एएसपी.नेट एमवीसी नियंत्रक .ऑनएक्सप्शन को
- 14. एएसपी.नेट एमवीसी - नियंत्रक कोड से वर्तमान कार्रवाई?
- 15. एएसपी.नेट या एएसपी.नेट एमवीसी
- 16. फुल कैलेंडर एएसपी.नेट एमवीसी 3 एक्शन
- 17. एएसपी.नेट एमवीसी नियंत्रक स्थिर तरीके
- 18. एएसपी.नेट एमवीसी 3 _Layout.cshtml नियंत्रक
- 19. एएसपी.नेट एमवीसी: एचटीएमएल का उपयोग करें। पार्टिकल या एचटीएमएल। एक्शन?
- 20. रहस्यमय एएसपी.नेट एमवीसी एक्शन उच्च विलंबता मुद्दा?
- 21. एएसपी.नेट एमवीसी एक्शन विधियों का उपभोग
- 22. नियंत्रक लिखने के बिना सरल एएसपी.नेट एमवीसी विचार
- 23. पकड़ने अज्ञात कार्रवाई कस्टम 404
- 24. एएसपी.नेट एमवीसी पूर्वावलोकन में एक्शन यूआरएल 5
- 25. एएसपी.नेट एमवीसी रिटर्न रीडायरेक्ट टू एक्शन
- 26. नियंत्रक एक्शन
- 27. एएसपी.नेट एमवीसी
- 28. एएसपी.नेट एमवीसी
- 29. अज्ञात नियंत्रक
- 30. एएसपी.नेट एमवीसी 3 में कस्टम 404 त्रुटि पेज कैसे बनाएं?