سلام امروز یک مطلب جالب داشتم، ما میتوانیم لیست مطالب در MVC از یک بانک اطلاعاتی درکنترلر بخوانیم و در ویوو نمایش دهیم و زمانی که روی لیست اطلاعت در ویوو کلیک میکنیم جزئیات مربوط به آن را درویوو جدید ببینیم
مثلا ما یک خبر داریم و قرار است متن آن خبر از بانک اطلاعاتی خوانده شود خواندن را در Controller انجام میدهیم و اطلات خوانده شده را با ویوو میفرستیم در ویوو تیتر خبر و متن خبر و ... نمایش داده میشود اما این خبر یک تعداد عکس دارد که قرار است عکسها از جدولی دیگر خوانده شود که ارتباط با جدول خبر دارد و این عکسها به صورت اسلاید در کنار متن خبر نمایش دهده شود
برای این کار ما اطلاعات خبر را از بانک اطلاعاتی به صورت single میخوانیم و در ویوو نمایش میدهیم، برای نمایش عکسها به صورت اسلاید اطلاعات را به صورت پارشیال ویوو به اکشن در کنترلر میفرستیم و اطلاعات را در پارشیال ویوو نمایش میدهیم ، نتیجه ، با توجه به اینکه هنوز ویوو اول بسته نسده و نمایش آن کامل شنده است پیغام خطایی را میبینیم
There is already an open DataReader associated with this Command which must be closed first.
در حالت عادی زمانی لیست مطالب نمایش داده میشود بعد از اتمام نمایش لیست کاربر با کلیک بر روی لینک مطلب به صفحه ای جدید وارد میشود و در مثال ما Id به اکشت ارسال میشود و عکسها در ویوو جدید نمایش داده میشود اما در زمانی که هنوز لیست مطالب نمایش داده نشده و ما قصد داریم عکسهای مرتبط با آن نیز نمایش داده شود خطاب بالا را میبینیم
حال برای حل این مشکل میتوان کد
MultipleActiveResultSets=true
را در کانکشن استرینگ ConnectionString اضافه نماییم ، مشکل حل میشود