আমি উভয় গেটের পাশাপাশি পোস্টগুলিতেও একক ক্রিয়া প্রতিক্রিয়া জানাতে চাই। আমি নিম্নলিখিত চেষ্টা করেছিলাম
[HttpGet]
[HttpPost]
public ActionResult SignIn()
কাজ করে বলে মনে হচ্ছে না। কোনও পরামর্শ ?
আমি উভয় গেটের পাশাপাশি পোস্টগুলিতেও একক ক্রিয়া প্রতিক্রিয়া জানাতে চাই। আমি নিম্নলিখিত চেষ্টা করেছিলাম
[HttpGet]
[HttpPost]
public ActionResult SignIn()
কাজ করে বলে মনে হচ্ছে না। কোনও পরামর্শ ?
[AcceptVerbs(HttpVerbs.Get|HttpVerbs.Post)]
নাকি [AcceptVerbs(HttpVerbs.Get)][AcceptVerbs(HttpVerbs.Post)]
? আমি এই বৈশিষ্ট্যগুলি সম্পর্কে কিছুই জানি না তবে আপনি যদি দ্বিতীয়টি করছেন তবে এটির কারণ হতে পারে error
উত্তর:
এটি AcceptVerbs বৈশিষ্ট্যটি ব্যবহার করে সম্ভব। এটি কিছুটা ভার্বোজ তবে আরও নমনীয়।
[AcceptVerbs(HttpVerbs.Get|HttpVerbs.Post)]
public ActionResult SignIn()
{
}
আরো MSDN ।
ক্রিয়াগুলি GETs এবং POST উভয়কেই ডিফল্টরূপে প্রতিক্রিয়া জানায়, তাই আপনাকে কোনও কিছুই নির্দিষ্ট করতে হবে না:
public ActionResult SignIn()
{
//how'd we get here?
string method = HttpContext.Request.HttpMethod;
return View();
}
আপনার প্রয়োজনের উপর নির্ভর করে আপনি এখনও HTTPContext.Request.HttpMethod মানটি অপারেটিং করে এইচটিটিপিথ মেথডের উপর নির্ভর করে বিভিন্ন যুক্তি সম্পাদন করতে পারেন।
SignIn(Guid? UserId)
এবং পোস্টের ভিউ মডেল রয়েছে SignIn(SomeVM vm)
এবং উভয়ই একটি ভাগ করে নেওয়া ব্যক্তিগত পদ্ধতি কল করে SignInHandleGetPost(...)
... যা সম্ভবত ভিএম লাগে যে জিইটি পদ্ধতিটি অবশ্যই শুরু করতে হবে, বা orচ্ছিক প্যারামগুলি, বা আপনি যা করতে পছন্দ করেন পুনঃব্যবহারযোগ্য / ভাগ করা কোড রিফ্যাক্টরিংয়ের জন্য।
AccountController.Login(String returnUrl, LoginViewModel model)
এবং এটি দুর্দান্ত কাজ করে। model
জিইটি-র কাছে নাল এবং পোষ্টে নন-নাল। তবে [ValidateForgeryToken]
ওভাররাইড করা দরকার কারণ ValidateForgeryToken
জিইটি অনুরোধগুলিতে একটি ব্যতিক্রম ছুঁড়ে।
[HttpGet]
public ActionResult SignIn()
{
}
[HttpPost]
public ActionResult SignIn(FormCollection form)
{
}