ViewBag
আমি পুনঃনির্দেশ বলার আগে কি সেটটি সেট করা সম্ভব ?
আমি এরকম কিছু চাই:
@ViewBag.Message="MyMessage";
RedirectToAction("MyAction");
ViewBag
আমি পুনঃনির্দেশ বলার আগে কি সেটটি সেট করা সম্ভব ?
আমি এরকম কিছু চাই:
@ViewBag.Message="MyMessage";
RedirectToAction("MyAction");
উত্তর:
আপনি পুনঃনির্দেশ ব্যবহার করার সময়, আপনি ব্যবহার করবেন না ViewBag
, কিন্তুTempData
public ActionResult Action1 () {
TempData["shortMessage"] = "MyMessage";
return RedirectToAction("Action2");
}
public ActionResult Action2 () {
//now I can populate my ViewBag (if I want to) with the TempData["shortMessage"] content
ViewBag.Message = TempData["shortMessage"].ToString();
return View();
}
আপনি এই পরিস্থিতিতে টেম্পেটা ব্যবহার করতে পারেন। এখানে ভিউব্যাগ, ভিউডেটা এবং টেম্পডাটা সম্পর্কিত কিছু ব্যাখ্যা রয়েছে।
আমি এটি পছন্দ করেছিলাম ... এবং এটি আমার জন্য কাজ করছে ... এখানে আমি পাসওয়ার্ড পরিবর্তন করছি এবং সাফল্যে আমি ভিউব্যাগে সাফল্যের বার্তাটি দর্শনে প্রদর্শন করতে চাই ..
public ActionResult ChangePass()
{
ChangePassword CP = new ChangePassword();
if (TempData["status"] != null)
{
ViewBag.Status = "Success";
TempData.Remove("status");
}
return View(CP);
}
[HttpPost]
public ActionResult ChangePass(ChangePassword obj)
{
if (ModelState.IsValid)
{
int pid = Session.GetDataFromSession<int>("ssnPersonnelID");
PersonnelMaster PM = db.PersonnelMasters.SingleOrDefault(x => x.PersonnelID == pid);
PM.Password = obj.NewPassword;
PM.Mdate = DateTime.Now;
db.SaveChanges();
TempData["status"] = "Success";
return RedirectToAction("ChangePass");
}
return View(obj);
}
সারসংক্ষেপ
ভিউডেটা এবং ভিউব্যাগ অবজেক্টগুলি আপনাকে সেই অতিরিক্ত টুকরো ডেটা অ্যাক্সেস করার উপায় দেয় যা আপনার মডেলের পাশাপাশি চলে যায়, তবে আরও জটিল ডেটার জন্য আপনি ভিউমোডেলে যেতে পারেন। অন্যদিকে টেম্পডেটা এইচটিটিপি পুনঃনির্দেশে ডেটা নিয়ে কাজ করার জন্য বিশেষভাবে প্রস্তুত, তাই টেম্পডেটা ব্যবহার করার সময় সতর্কতা অবলম্বন করতে ভুলবেন না।
অথবা আপনি বিকল্প জন্য সেশন ব্যবহার করতে পারেন:
Session["message"] = "MyMessage";
RedirectToAction("MyAction");
এবং তারপরে যখনই আপনার প্রয়োজন হবে এটি কল করুন।
হালনাগাদ
এছাড়াও, @ জেমস তার মন্তব্যে যা বলেছে, অযাচিত জাঙ্ক ডেটা বা পুরানো মূল্য এড়াতে আপনি নির্দিষ্ট সেশনের এটি ব্যবহারের পরে বাতিল বা পরিষ্কার করতে নিরাপদ হবে।