चूंकि मैंने बीटा के साथ रहने के दौरान आरसी जाने का फैसला किया है, इसलिए मुझे यह जानने का कोई तरीका नहीं है कि दृढ़ता से टाइप किया गया RedirectToAction
जोड़ा गया है। क्या किसी ने कोशिश की है और क्या आरसी में RedirectToAction
(और शायद ActionLink
) जोरदार टाइप किया गया है?क्या .NET MVC का दृढ़ता से टाइप किया गया RedirectToAction है?
उत्तर
नहीं, ऐसा नहीं है।
protected RedirectToRouteResult RedirectToAction<T>(Expression<Action<T>> action, RouteValueDictionary values) where T : Controller
{
var body = action.Body as MethodCallExpression;
if (body == null)
{
throw new ArgumentException("Expression must be a method call.");
}
if (body.Object != action.Parameters[0])
{
throw new ArgumentException("Method call must target lambda argument.");
}
string actionName = body.Method.Name;
var attributes = body.Method.GetCustomAttributes(typeof(ActionNameAttribute), false);
if (attributes.Length > 0)
{
var actionNameAttr = (ActionNameAttribute)attributes[0];
actionName = actionNameAttr.Name;
}
string controllerName = typeof(T).Name;
if (controllerName.EndsWith("Controller", StringComparison.OrdinalIgnoreCase))
{
controllerName = controllerName.Remove(controllerName.Length - 10, 10);
}
RouteValueDictionary defaults = LinkBuilder.BuildParameterValuesFromExpression(body) ?? new RouteValueDictionary();
values = values ?? new RouteValueDictionary();
values.Add("controller", controllerName);
values.Add("action", actionName);
if (defaults != null)
{
foreach (var pair in defaults.Where(p => p.Value != null))
{
values.Add(pair.Key, pair.Value);
}
}
return new RedirectToRouteResult(values);
}
यह काम करना चाहिए।
क्या यह फ्यूचर्स डीएल में मौजूद है? मुझे यह नहीं मिल रहा है, अगर ऐसा होता है? मुझे आश्चर्य है कि यह क्यों याद किया गया था ?? –
चाड .. यह नियंत्रक वर्ग के लिए एक विस्तार विधि कैसे बन सकता है? –
मैं इसे मूल नियंत्रक वर्ग पर डालने और अपने नियंत्रकों को उस से प्राप्त करने की अनुशंसा करता हूं। –
यह आपके नियंत्रक पर विस्तार विधि के रूप में MVC Contrib में भी शामिल है, साथ ही मॉडलस्टेट हैंडलिंग, परीक्षण इत्यादि के लिए कई अन्य दृढ़ता से टाइप की गई उपहारों के साथ-साथ यह जो भी ऑफर करता है, उसके लिए अतिरिक्त निर्भरता को लेना उचित है।
यह सही उत्तर है। –
यदि आप पूर्ण एमवीसीकंट्रिब लाइब्रेरी नहीं चाहते हैं, तो आप MvcNavigationHelpers NuGet पैकेज का उपयोग कर इस सुविधा को प्राप्त कर सकते हैं।
आप का उपयोग return RedirectToAction(nameof(Index));
- 1. क्या दृढ़ता से टाइप किया गया है Asp.Net MVC
- 2. .Net/C# में, निरंतर दृढ़ता से टाइप किया गया है?
- 3. क्या "टाइप-सेफ" और "दृढ़ता से टाइप किया गया" एक ही चीज़ का मतलब है?
- 4. रूबी दृढ़ता से या कमजोर टाइप किया गया है?
- 5. asp.net MVC के विचारों और दृढ़ता से टाइप किया ViewData
- 6. TryUpdateModel बनाम दृढ़ता से टाइप किया गया विधि पैरामीटर
- 7. दृढ़ता से टाइप किया गया सी ++ 0x गणना तुलना
- 8. asp.net mvc दृढ़ता से टाइप मॉडल को मल्टीसेलेक्ट
- 9. क्या एक कस्टम एएसपी.नेट एमवीसी दृढ़ता से टाइप किया गया HTML सहायक है?
- 10. टाइपपीफ को दृढ़ता से टाइप क्यों नहीं किया जाता है?
- 11. दृढ़ता से टाइप किए गए एमवीसी
- 12. आरपीथॉन में स्थिर रूप से टाइप किया गया क्या है?
- 13. मैं एमवीसी 4 और दृश्य मॉडल का उपयोग करके चेकबॉक्स का समूह कैसे प्रस्तुत करूं (दृढ़ता से टाइप किया गया)
- 14. क्या PowerShell एक दृढ़ता से टाइप की गई भाषा है?
- 15. RedirectToAction कारण ASP.NET MVC 3
- 16. दृढ़ता से टाइप किए गए डेटासेट क्या हैं?
- 17. स्थैतिक रूप से टाइप किया गया लुआ
- 18. वीबीएनईटी कमजोर टाइप किया गया? मजबूत टाइप?
- 19. मुझे अपना एएसपीनेट-एमवीसी दृढ़ता से टाइप किया गया व्यूडाटा कहां रखना चाहिए?
- 20. एमवीसी कोई कोडबेइंड दृढ़ता से टाइप नहीं किया गया व्यूडाटा हेडर
- 21. क्या सी # में PropertyChanged घटनाओं को करने के लिए कोई दृढ़ता से टाइप किया गया तरीका है?
- 22. दृढ़ता से संस्थाओं
- 23. "बहुत से स्वचालित पुनर्निर्देशन का प्रयास किया गया था" .NET
- 24. RedirectToAction()
- 25. .NET MVC
- 26. एमवीसी 4 दृढ़ता से टाइप किए गए बंडल बंडल
- 27. .NET MVC
- 28. दृढ़ता से टाइप किए गए एएसपी.नेट एमवीसी सत्र
- 29. विंडोज एपीआई में सबकुछ टाइप क्यों किया गया है?
- 30. पीडीओ में दृढ़ता से पैरामीटर टाइप करने के कारण?
आप @Darrell Mozingo के जवाब देने के लिए स्वीकार किए जाते हैं जवाब बदलना चाहिए कर सकते हैं; क्योंकि RedirectToAction वास्तव में फ़्यूचर्स असेंबली में है। –