PDA

View Full Version : تغییر در view توسط اکشن کنترلر



navidiran
دوشنبه 05 مرداد 1394, 23:32 عصر
با سلام بر اساتید

دوستان حدود دو هفته است که از یک پروژه غیردیتابیسی نمیتونم نتیجه بگیرم. تقریباً هم منطق تحلیلم رو از دست دادم. از تالارهای دیگر و حتی stackoverflow هم نتیجه ای نگرفتم.

پروژه به این شکل هست:

یک Button و چند لاین بشکل Dashed --------------- نامحدود و متغییر بر روی view داریم. رنگ آیتم اول متفاوت از بقیه هست (مثلاً قرمز رنگ هست)
میخواهیم با هر بار کلیک برروی دکمه این تغییر رنگ به آیتم بعدی انتقال یابد، یعنی آیتم قبلی همرنگ بقیه شده و آیتم جلویی قرمز رنگ شود.
برای انجام اینکار چه کاری لازم هست در کنترلر انجام شود؟

133616
133619133617133618

hakim22
سه شنبه 06 مرداد 1394, 09:06 صبح
برای کنترلر نیازی نیست کار انجام بشه. اینکار فقط از طریق javascript ممکن هست. در واقع وقتی یک پیج در مرورگر لود میشه دیگه asp روش تاثیر نمیزاره و از اونجا به بعد برنامه نویسی کلایت (جاوااسکریپت ، فلش ، سیلورلایت یا جاوا) کار میکنند.

TeacherMath
سه شنبه 06 مرداد 1394, 09:52 صبح
<!DOCTYPE html><html><head><title>Test</title> <style type="text/css"> .top{ text-align: center; } .d{text-align: center;margin-top: 30px;direction: rtl;} .d .item{ height:5px; width:30px; background-color: chartreuse; display: inline-block; } .d .active{ background-color: red; } </style> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery(".mybtn").click(function(e){ e.preventDefault(); var curr=jQuery(".d").attr("data-curr"); var count= jQuery(".d .item").length; curr=(parseInt(curr)+1)%parseInt(count); jQuery(".d").attr("data-curr",curr); jQuery(".d .item").removeClass("active"); jQuery(".d .item").eq(curr).addClass("active"); }); }); </script></head><body><div class="top"> <button class="mybtn" >Start Move</button></div> <div class="d" data-curr="0"> <span class="item active"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> <span class="item"></span></span> </div></body></html>

navidiran
سه شنبه 06 مرداد 1394, 22:39 عصر
کد بالا کاملاً صحیح است و همون چیزیه که میخواستم. خیلی ممنونم.
اما یک موردی هست که باید توسط کنترلر مدیریت شود. این پروژه به همین سادگی نیست و این فقط مرحله ابتدایی از اون هست که من کمک دوستان رو خواستم. این برنامه خودکار انجام خواهد شد و به نوعی مسیریاب خواهد بود. پشت صحنه باید محاسبات انجام شود و کلی کار دیگه....

ببینین دوستان چیزی که من موقع کار با دیتابیس تونستم برای خودم تفهیم کنم اینه که: کنترلر پردازش میکنه و مقادیر رو مقدار دهی میکنه و پاس میده.
view هم دستورات کنترلر مورد نظر رو نمایش میده
مثلاً در این view امکان رفتن به اکشن مشخص وجود دارد.


@Html.ActionLink("بازگشت به صفحه قبل", "Index")


و اکشن مربوطه هم یک سری کارها انجام میدهد. خلاصه اینکه دیتابیس هست و امکان مقداردهی از پایگاه وجود دارد.


اما توی این پروژه دیتابیس وجود نداره. فقط یک سری اطلاعات عددی بدون کمک جداول پایگاه. کنترلر باید عملیات انجام بده و دگمه اون عملیات رو نمایش بده. اینجای مطلب برای من گنگ هست و کمک میخوام.