ত্রুটি অর্থ আপনি একজন দৃশ্য যার মডেল typeof হিসেবে ঘোষণা করা হয় নেভিগেট করছি Foo(ব্যবহার করে @model Foo), কিন্তু আপনি আসলে এটা একটি মডেল যা typeof হয় পাস Bar(নোট শব্দটি অভিধান ব্যবহার করা হয় কারণ একটি মডেল একটি মাধ্যমে দৃশ্যে পাস করা হয়েছে ViewDataDictionary) ।
ত্রুটি কারণ হতে পারে
একটি নিয়ামক পদ্ধতি থেকে একটি দর্শনে (বা আংশিক দৃষ্টিতে) ভুল মডেলটি পাস করা
সাধারণ উদাহরণগুলির মধ্যে এমন একটি কোয়েরি ব্যবহার করা থাকে যা একটি বেনামে অবজেক্ট তৈরি করে (বা বেনামে থাকা অবজেক্টগুলির সংগ্রহ) তৈরি করে এবং দর্শনে তা প্রেরণ করে
var model = db.Foos.Select(x => new
{
ID = x.ID,
Name = x.Name
};
return View(model);
বা একটি একক অবজেক্টের প্রত্যাশা এমন দৃশ্যে অবজেক্টগুলির সংকলন পাস করা
var model = db.Foos.Where(x => x.ID == id);
return View(model);
মডেলটি ব্যবহারের পরিবর্তে দৃষ্টিতে মডেলটির সাথে মেলে তুলতে নিয়ামককে মডেল প্রকারটি স্পষ্টভাবে ঘোষণা করে সংকলন সময়ে ত্রুটিটি সহজেই চিহ্নিত করা যায় var।
একটি দর্শন থেকে আংশিক দৃষ্টিতে ভুল মডেলটি পাস করা
নিম্নলিখিত মডেল দেওয়া
public class Foo
{
public Bar MyBar { get; set; }
}
এবং একটি প্রধান দৃশ্য সঙ্গে ঘোষিত @model Fooএবং একটি আংশিক দৃশ্য সঙ্গে ঘোষিত @model Bar, তারপর
Foo model = db.Foos.Where(x => x.ID == id).Include(x => x.Bar).FirstOrDefault();
return View(model);
সঠিক দৃষ্টিতে মূল দৃশ্যে ফিরে আসবে। তবে ভিউ অন্তর্ভুক্ত করা হলে ব্যতিক্রম নিক্ষেপ করা হবে
@Html.Partial("_Bar")
ডিফল্টরূপে, আংশিক দৃশ্যে রূপান্তরিত হওয়া মডেলটি হ'ল মডেলটিকে মূল দৃষ্টিতে ঘোষণা করা হয় এবং আপনাকে ব্যবহার করা দরকার
@Html.Partial("_Bar", Model.MyBar)
Barআংশিক দৃষ্টান্তের উদাহরণটি পাস করার জন্য । আরও মনে রাখবেন যে মানটি MyBarযদি null(আরম্ভ করা হয়নি) তবে ডিফল্টরূপে Fooআংশিক হয়ে যাবে, সেই ক্ষেত্রে এটি হওয়া দরকার
@Html.Partial("_Bar", new Bar())
একটি বিন্যাসে একটি মডেল ঘোষণা
যদি কোনও লেআউট ফাইলটিতে কোনও মডেল ঘোষণা অন্তর্ভুক্ত থাকে, তবে সেই বিন্যাসটি ব্যবহার করে এমন সমস্ত দর্শন একই মডেল বা সেই মডেল থেকে উদ্ভূত এমন কোনও মডেল হিসাবে ঘোষণা করতে হবে।
আপনি যদি কোনও লেআউটে পৃথক মডেলের জন্য এইচটিএমএল অন্তর্ভুক্ত করতে চান, তবে লেআউটে, @Html.Action(...)কোনও [ChildActionOnly]পদ্ধতিটি কল করার জন্য সেই মডেলটি আরম্ভ করে এবং এর জন্য একটি আংশিক দৃষ্টিভঙ্গি প্রদান করে।
return Viewপরিবর্তে এটি ব্যবহার করার সময় আমি এই ত্রুটিটি পেয়েছিreturn PartialViewযাতে এটি কেবল যাচাই করার জন্য