আমি অবিচ্ছিন্নভাবে ব্যতিক্রম পাচ্ছি যে বলছে যে asp.net এমভিসি অ্যাকশন পদ্ধতিটি খুঁজে পাচ্ছে না। ব্যতিক্রম এখানে:
নিয়ামক 'শুন.ফর্ম। ওয়েলবি.কমট্রোলারস.ক্রিসকন্ট্রোলার'-এ একটি' পাবলিক অ্যাকশন পদ্ধতি 'পূরণ করুন could
আমি মনে করি আমার কাছে রাউটিংটি সঠিকভাবে সেট আপ হয়েছে কারণ এই অ্যাপ্লিকেশনটি বেশিরভাগ সময় কাজ করে। নিয়ন্ত্রকের ক্রিয়া পদ্ধতিটি এখানে।
[ActionName("Fill")]
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post), UserIdFilter, DTOFilter]
public ActionResult Fill(int userId, int subscriberId, DisplayMode? mode)
{
//…
}
পথ:
routes.MapRoute(
"SchoonForm",
"Form/Fill/{subscriberId}",
new { controller = "ChrisController", action = "Fill" },
new { subscriberId = @"\d+" }
);
এবং এখানে স্ট্যাকটি রয়েছে:
System.Web.Http ধারণা: নিয়ামক 'শুন.ফর্ম.সাহাবি.কম্প্রোলারস.ক্রিসকন্ট্রোলার' তে একটি সর্বজনীন কর্ম পদ্ধতি 'ফিল' খুঁজে পাওয়া যায়নি। সিটিতে System.Web.Mvc.Controller.HandleUnعلومAction (স্ট্রিং অ্যাকশননাম) এ: \ dev \ তৃতীয় পক্ষ \ MvcDev \ src \ SystemWebMvc \ Mvc \ Controller.cs: Line at 197. System.Web.Mvc.Controller.Exute : \ দেব \ থার্ডপার্টি \ এমভিসিডিভ \ এসসিআরসি \ সিস্টেমওয়েবএমভিসি \ এমভিসি \ কন্ট্রোলার.সি: লাইন 164 এ সিস্টেম.ওয়েব.এমভিসি.কন্ট্রোলারবেস.এক্সেকিউট (অনুরোধকন্টেক্সট অনুরোধকন্টেক্সট) সি: \ দেব \সিভিসিসিভিসিভিসিভিসিভিসিভি সিস্টেম কন্ট্রোলারবেস.সি: লাইন 76. সিস্টেমে.বি.বি.বি.সি.সি. কন্ট্রোলারবেস.সিস্টেম.ওয়েব.এমভিসি.আইকন্ট্রোলার.এক্সেকিউট (রিকোয়েস্টকন্টেক্সট অনুরোধকন্টেক্সট) সি: \ দেব \ থার্ডপার্টি \ এমভিসিডিএভ \ এসসিআরসি W সিস্টেমবিবেসিভিসি লাইন এমসিসিএলসিআরসিআরসি: সিটিতে System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) এ:
এখানে আমার ফিল্টারগুলির উদাহরণ রয়েছে তারা সবাই একইভাবে কাজ করে:
public class UserIdFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
const string Key = "userId";
if (filterContext.ActionParameters.ContainsKey(Key))
{
filterContext.ActionParameters[Key] = // get the user id from session or cookie
}
base.OnActionExecuting(filterContext);
}
}
ধন্যবাদ, ক্রিস