View Full Version : نمایش ندادن محتویات پارشیال ویو
IR-Developer
پنج شنبه 25 دی 1393, 08:20 صبح
سلام یک دیتابیس از قبل برای پروژه ی دیگه هست باید روی اون بازنویسی کنم .
محتویات یکی از جداول را ایجکسی سرچ میکنم و داده ها را پیدا میکنم و برگشت میدم به پارشیال ویو . دیباگ کردم توی پارشیال ویو هم میره توی حلقه و یکی یکی اطلاعات را از لیست میخونه نمایش میده ولی وقتی حلقه تموم میشه هیچی روی فرم نشون داده نمیشه !
من مبتدی نیستم و دفعه ی اولم نیست ولی اینبار اصلا نمیفهمم چرا اطلاعات چاپ نمیشه !
حتی با Json هم برگشت میدم و توی یک Div میخوام بزارم هیچی چاپ نمیشه ! لیست هم چک میکنم همیشه پر هست .
حتی با فایرباگ هم چک میکنم نشون میده که اطلاعات به چه فرمتی چاپ میشه و کد html را نشون میده .
هر چیزی به ذهنم میرسه بررسی کردم . حتی فکر میکردم با رنگ سفید چاپ میشه ولی اینطور نبود . پروژّه ی جدید درست کردم اونجا همون دیتابیس را آوردم و اون قسمت کار را انجام دادم بازم نشد !
خواهشا راهنمایی کنید . وقتم کمه و این مشکل روی اعصابه .
تشکر
aroshanzamir
پنج شنبه 25 دی 1393, 09:46 صبح
سلام .. وقت بخیر : از این نظر که میگی مشکل روی اعصابه کاملا درکت می کنم ولی خوب
به نظر من تا کد ها نباشه نمیشه حرفی زد مخصوصا در این گونه موارد ...
کد ها را بزار تا مابقی دوستان هم نظری بدند ان شالله که مشکل برطرف بشه..
IR-Developer
پنج شنبه 25 دی 1393, 10:20 صبح
سلام .. وقت بخیر : از این نظر که میگی مشکل روی اعصابه کاملا درکت می کنم ولی خوب
به نظر من تا کد ها نباشه نمیشه حرفی زد مخصوصا در این گونه موارد ...
کد ها را بزار تا مابقی دوستان هم نظری بدند ان شالله که مشکل برطرف بشه..
بله درست میفرمایید
این پروژّه را بصورت تست ایجاد کردم و اینجا هم جواب نداد :
توی کنترلر اکشن مورد نظر
var model = dbIndG.Select();
//return Json( model,JsonRequestBehavior.AllowGet);
return PartialView("_IndustrialGroup", model);
در ویو پارشیال صدا زده شده
@Html.Partial("_IndustrialGroup")
در پارشیال
@model IEnumerable<proje.Models.DomainModels.IndustrialGroup>
<table>
@if (Model != null)
{
foreach (var item in Model)
{
<tr>
<td>
@item.IndustrialGroupID
</td>
<td>
@item.GroupName
</td>
<td>
@Html.DisplayFor(modelItem => item.SettingID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ImagePath)
</td>
</tr>
}
}
</table>
دیباگ میکنم تک تک خط ها بدرستی اجرا میشه و همگی مقدار دارن ولی بعد از تموم شدن هیچ خروجی که در پارشیال هست اصلا چاپ نمیشه . حلقه کامل اجرا میشه ولی در آخر هیچی نشون داده نمیشه !
تیو پارشیال متن دستی بنویسم نشون میده .کش هم پاک کردم . با همه مرورگر ها هم امتحان کردم . حتی با Json هم کار نکرد ! اصلا مات و مبهوت موندم چکار کنم . وقت خیلی کم دارم خواهشا راهنمایی کنید .
شاید من حواسم به یه چیزی نیست !
aroshanzamir
پنج شنبه 25 دی 1393, 10:26 صبح
سلام بیا این کار را بکن ببین جواب میده :
خروجی متد اکشن را از نوع PartialViewResult تعین بکن چون می خواهیم یک پارشیال ویو برگشت بدیم : اوکی
در ویو بجای Html.Partal بنویس Html.Action و نام کنترولر و اکشنی که پارشیال ویو را برگشت میده بنویس .. اینو امتحان کن
IR-Developer
پنج شنبه 25 دی 1393, 10:39 صبح
سلام بیا این کار را بکن ببین جواب میده :
خروجی متد اکشن را از نوع PartialViewResult تعین بکن چون می خواهیم یک پارشیال ویو برگشت بدیم : اوکی
در ویو بجای Html.Partal بنویس Html.Action و نام کنترولر و اکشنی که پارشیال ویو را برگشت میده بنویس .. اینو امتحان کن
اینطوری کار کرد ! :متعجب: مشکل چیه ؟ من همیشه اونطوری استفاده میکردم مشکلی نداشت ولی ایندفعه اینطوری شد !
aroshanzamir
پنج شنبه 25 دی 1393, 10:43 صبح
خدا را شکر که مشکل برطرف شد و الان دیگه چیزی رو اعصاب شما نیست ... این خودش خیلی خوبه ... چون خودم خیلی زیاد تو مواردی که رو اعصاب باشه گیر می کنم ...
موفق و پیروز باشی
IR-Developer
پنج شنبه 25 دی 1393, 10:50 صبح
خدا را شکر که مشکل برطرف شد و الان دیگه چیزی رو اعصاب شما نیست ... این خودش خیلی خوبه ... چون خودم خیلی زیاد تو مواردی که رو اعصاب باشه گیر می کنم ...
موفق و پیروز باشی
ممنون داداش فقط دلیل این مشکل را میشه بگید چیه ؟ من اولین باره با اون روش به مشکل برخوردم و همیشه جواب میداده .
هر موقع به مشکل بر میخورم بعد از تلاشهای فراوان در آخر میام سراغ بچه های سایت برنامه نویس که بدون هیچ چشم داشت راهنمایی میکنن و من واقعا مدیونشونم که خیلی توی موقعیت های حساس نجاتم دادن ...
aroshanzamir
پنج شنبه 25 دی 1393, 10:55 صبح
ممنون داداش فقط دلیل این مشکل را میشه بگید چیه ؟ من اولین باره با اون روش به مشکل برخوردم و همیشه جواب میداده .
هر موقع به مشکل بر میخورم بعد از تلاشهای فراوان در آخر میام سراغ بچه های سایت برنامه نویس که بدون هیچ چشم داشت راهنمایی میکنن و من واقعا مدیونشونم که خیلی توی موقعیت های حساس نجاتم دادن ...
من هم دلیل اصلی اون را نمی دونم من هم مثل شما به این مشکل برخورد کردم و هر کاری میکردم به جواب نمیرسیدم تا اینکه یک بار در انجمن asp دیدم یک پسر هندی اومده پارشیال ویو را از این طریق برگشت میده من هم امتحان کردم و جواب گرفتم ...
حالا در این رابطه تحقیق می کنم و جوابش را اطلاع میدم
IR-Developer
پنج شنبه 25 دی 1393, 12:06 عصر
من هم دلیل اصلی اون را نمی دونم من هم مثل شما به این مشکل برخورد کردم و هر کاری میکردم به جواب نمیرسیدم تا اینکه یک بار در انجمن asp دیدم یک پسر هندی اومده پارشیال ویو را از این طریق برگشت میده من هم امتحان کردم و جواب گرفتم ...
حالا در این رابطه تحقیق می کنم و جوابش را اطلاع میدم
ظاهرا مشکل حل نشد :گریه:
اون موقع که مشکل حل شده بود با @Action پارشیال را داخل ویو صدا زده بودم
@Html.Action("IndustrialSearch","Home")
و وقتی دفعه ی اول ویو را اجرا میکردم میرفت به اکشن پارشیال که برای نمایش نتیجه ی سرچ نوشتم و اونجا چون تستی بود من فقط یک Select نوشتم ببینم کار میکنه یا نه .
var model = dbIndG.Select();
return PartialView("_IndustrialGroup", model);
و با این وقتی ویو اجرا فراخوانی میشه همون اول میره اطلاعات را میگیره و ویو با اطلاعات لود میشه .
حالا کار اصلی من اینه که یک ویو دارم که پارشیال ویو داخلش مسئول نمایش نتیجه ی سرچ هست .
اومدم 2 تا اکشن برای پارشیال تعریف کردم :
یکی به این شکل برای وقتی که دفعه ی اول اجرا میشه
[HttpGet]
public ActionResult IndustrialSearch()
{
return PartialView("_IndustrialGroup");
}
یکی هم به این شکل برای وقتی که برای جستجو باید نتایج را نمایش بده . یکی ویو مدل هست که لیست ها از نتایج داخلش پر میشن
IndustrialViewModels model = new IndustrialViewModels();
.
.
.
return PartialView("_IndustrialGroup", model);
فرم سرچ توی ویو هست و وقتی اطلاعات با ایجکس به کنترلر ارسال میشه بعد ارسال میشه به پارشیال برای نمایش
@model MVCshBozorg.Models.ViewModels.IndustrialViewModels
@if (Model != null)
{
foreach (var item in Model.ListIndustrialGroups.ToList())
{
<tr>
<td>
@item.IndustrialGroupID
</td>
<td>
@item.GroupName
</td>
<td>
@Html.DisplayFor(modelItem => item.SettingID)
</td>
<td>
@Html.DisplayFor(modelItem => item.ImagePath)
</td>
</tr>
}
}
</table>
کدها بدرستی اجرا میشه ولی هیچی نمایش داده نمیشه .
با این حساب میشه گفت بعد از نمایش کامل ویو بعد از اجرا کار دیگه محتویات ویو تغییر نمیکنه و هیچی توش نشون داده نمیشه !
aroshanzamir
پنج شنبه 25 دی 1393, 12:09 عصر
سلام دوست من :
منظور من هم این بود که داخل ویوی اصلی بنویس Html.Action بجای Html.Partial ////
می خواهی دقیقا بگو می خواهی چکار های بکنی .. تا من یک نمونه انجام و بعد آپلودش کنم ....
IR-Developer
پنج شنبه 25 دی 1393, 12:41 عصر
سلام دوست من :
منظور من هم این بود که داخل ویوی اصلی بنویس Html.Action بجای Html.Partial ////
می خواهی دقیقا بگو می خواهی چکار های بکنی .. تا من یک نمونه انجام و بعد آپلودش کنم ....
یک ویو دارم که فرم جستجو داره . یک کلید میگیره میفرسته به اکشن و تو دیتابیس بر اساس اون جستجو میکنه و یک لیست از اطلاعات را پیدا میکنه و برمیگردونه و تو پارشیال نمایش میده .
اینجا توی شرکت با یکی از برنامه نویسهای دیگه متحیر موندیم چرا اینطوریه و هرجور مینویسیم روی فرم هیچی نمایش داده نمیشه . اگر مشکل از من باشه دیگه اونم نفهمید چرا اینطوریه .
وافعا مشکل غیر منطقی و عجیبیه !
aroshanzamir
پنج شنبه 25 دی 1393, 14:05 عصر
سلام خوبه که من این کار را بکنم :
یک ویو می سازم که یک textBox داشته باشه و کاربر کلیدی را وارد کنه بعد بره تو دیتابیس سرچ بزنه ویک لیست از اطلاعات را برگردونه و این اطلاعات برگشتی در قالب پارشیال ویو باشه ...اگر آری : -زمانی که کاربر کلید را در TextBox وارد کرد سرچ به صورتی انجام شود : صفحه PostBack شود یا AJAX
اگر صفحه قرار است PostBack شود textBox در Layout باشد یا یک View معمولی ...
IR-Developer
پنج شنبه 25 دی 1393, 16:56 عصر
سلام خوبه که من این کار را بکنم :
یک ویو می سازم که یک textBox داشته باشه و کاربر کلیدی را وارد کنه بعد بره تو دیتابیس سرچ بزنه ویک لیست از اطلاعات را برگردونه و این اطلاعات برگشتی در قالب پارشیال ویو باشه ...اگر آری : -زمانی که کاربر کلید را در TextBox وارد کرد سرچ به صورتی انجام شود : صفحه PostBack شود یا AJAX
اگر صفحه قرار است PostBack شود textBox در Layout باشد یا یک View معمولی ...
بله با ایجکس زحمتش را بکشید ممنون .
در ضمن با Ajax.BeginForm خود MVC درست کار میکنه ولی از اونجایی که من همیشه با جیکوئری مینویسم فقط اینطوری درست کار نمیکنه که اینم عجیبه چون اطلاعات در قالب Json بدرستی سمت سرور ارسال میشه و جوابش هم Return میشه و خط به خط چاپ میکنه ولی در ویو نمایش داده نمیشه ولی با BeginForm میاد UpdateTargetId را بروز میکنه که این کار میکنه .
aroshanzamir
جمعه 26 دی 1393, 11:02 صبح
بله با ایجکس زحمتش را بکشید ممنون .
در ضمن با Ajax.BeginForm خود MVC درست کار میکنه ولی از اونجایی که من همیشه با جیکوئری مینویسم فقط اینطوری درست کار نمیکنه که اینم عجیبه چون اطلاعات در قالب Json بدرستی سمت سرور ارسال میشه و جوابش هم Return میشه و خط به خط چاپ میکنه ولی در ویو نمایش داده نمیشه ولی با BeginForm میاد UpdateTargetId را بروز میکنه که این کار میکنه .
سلام الان اومدم بنویسم یه چیز مبهم بود :
زمانی که کابر کلیدی را در تکس باکس وارد می کنه بعد میره سمت سرور و با توجه به این کلید اطلاعاتی را بازگشت میده .. اطلاعات بازگشت داده شده باید در قالب پارشیال ویو باشد...
حالا سوال من اینه که :
شما در اینجا از JSON می خواهی چه استفاده ای کنی ... خوب اطلاعات بازگشتی از دیتابیس را در قالب یک لیست به پارشیال پاس می دهیم ...
کاربرد JSON در اینجا چیه ؟
می خواهی با JSON در اینجا چه کار کنی ؟
IR-Developer
جمعه 26 دی 1393, 18:24 عصر
سلام الان اومدم بنویسم یه چیز مبهم بود :
زمانی که کابر کلیدی را در تکس باکس وارد می کنه بعد میره سمت سرور و با توجه به این کلید اطلاعاتی را بازگشت میده .. اطلاعات بازگشت داده شده باید در قالب پارشیال ویو باشد...
حالا سوال من اینه که :
شما در اینجا از JSON می خواهی چه استفاده ای کنی ... خوب اطلاعات بازگشتی از دیتابیس را در قالب یک لیست به پارشیال پاس می دهیم ...
کاربرد JSON در اینجا چیه ؟
می خواهی با JSON در اینجا چه کار کنی ؟
Josn برای موقعی بود که میخواستم کلید را بفرستم سمت سرور . حتی خیلی مواقع میومدم لیست را دوباره با Json از سمت سرور برگشت میدادم و بعد با جیکوئری اطلاعات را آپدیت میکردم که همیشه بخوبی کار میکرد که فعلا کلا ایجکس با سیستم من مشکل پیدا کرده و اصلا به هیچ روشی درست کار نمیکنه .
نمیدونم ویژوال استادیو من مشکل پیدا کرده چی شده ! امروز داشتم کار میکردم دیدم با خود ajax Begin form مشکل عجیبی رخ داد که وقتی اطلاعات را میفرستم سمت کلاینت یک لحظه نمایش داده میشد بعد چند ثانیه خودش پاک میشد و صفحه سفید میشد . کد ساده ایی بود که چیز خاصی نداشت و خیلی موارد از استفاده میکردم . کم کم دارم از این چیزای عجیب میترسم . ارواح لپتاپ من را تسخیر کردن :لبخند:
aroshanzamir
جمعه 26 دی 1393, 18:55 عصر
الان برای حل شدن مشکل قبلی این سوال را فقط با یک کلام تعین کنید :
من با JQuery AJAX فراخوانی را انجام میدم و یک کلید می فرستم سمت سرور و بر اساس اون یک پارشیال در صفحه نمایش داده بشه : اوکی
IR-Developer
جمعه 26 دی 1393, 21:42 عصر
الان برای حل شدن مشکل قبلی این سوال را فقط با یک کلام تعین کنید :
من با JQuery AJAX فراخوانی را انجام میدم و یک کلید می فرستم سمت سرور و بر اساس اون یک پارشیال در صفحه نمایش داده بشه : اوکی
این ادیتور انجمن نمیزاره با یک کلام جواب بدم:لبخند:
اوکی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.