نمایش نتایج 1 تا 7 از 7

نام تاپیک: نشان دادن جزئیات در همان View اصلی

  1. #1

    نشان دادن جزئیات در همان View اصلی

    سلام دوستان
    فرض کنید که ما یک ویو برای جدول Orders داریم و بصورت جدولی رکوردها را نشان میده و در انتها یک ستون داریم که یک ActionLink داریم که برای نمایش Details هر Order بکار میرود. حالا من سوالی که دارم اینه که چطور این Details رو در همان صفحه و مثلا زیر لیست جداول نشان بدم؟و آیا اینکه بیام در کنترلر Order متدهای دریافت و حذف و آپدیت و ... رو برای Order Details کار درستی هست؟
    با تشکر

  2. #2

    نقل قول: نشان دادن جزئیات در همان View اصلی

    بطور منطقی درست نیست که شما دو جدول در یک View نمایش بدید، ولی این کار شدنیه، در ViewData ی Action مربوط به Orders، لیست Details رو در ViewData بریزید و در View یک حلقه برای نمایش Details همانطور که برای Orders نوشته اید بنویسید، لینک های Edit و Delete هم مشابه Orders در کنار هر رکورد قرار دهید.



    in controller...

    public ActionResult OrdersList()
    {
    ViewData["Orders"] = //get orders from database...
    ViewData["Details"] = //get details from database...
    }


    in view...


    <% var details = ViewData["Details"] as OrderDetails[]; %>
    <% foreach(var item in details) %>
    <% { %>

    <--! display item here as html -->

    <% } %>



    ولی این چه کاریه؟ نکنین این کارا رو! خوبیت نداره!

  3. #3

    نقل قول: نشان دادن جزئیات در همان View اصلی

    دوست عزیز ممنونم ولی خوب این سناریو خیلی پیش میاد که ما در یک صفحه از چند جدول بخواهیم اطلاعات رو نشون بدیم.گرچه دیدم که میشه با Partial View بصورت یوزر کنترل این کار رو انجام داد ولی بلد نیستم چطور میشه یک یوزر کنترل رو در مواقع ضروری نشون داد مثلا در اینجا وقتی URL ما بصورت زیر باشه نباید یوزر کنترل نمایش پیدا کنه:

    http://Myaddress/AllOrder

    اما وقتی که URL بصورت زیر بود باید یوزر کنترل لود شود

    http://Myaddress/AllOrder/2


    ممنون میشم اگر کمی در این رابطه توضیح بدین.

  4. #4
    کاربر جدید
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    سیدنی
    سن
    49
    پست
    26

    نقل قول: نشان دادن جزئیات در همان View اصلی

    به عنوان یک پیشنهاد ، ابزار Telerik MVC 3 tools که رایگان و اپن سورس است را دانلود و نصب کنید و از Grid --> Master/Detail --> Client detail template استفاده کنید، در لینک زیر پیش نمایش و کد Controller و View آن بصورت مجزا آمده است :
    http://demos.telerik.com/aspnet-mvc/...id/detailsajax

  5. #5

    نقل قول: نشان دادن جزئیات در همان View اصلی

    اگه از EF استفاده می کنید و ارتباط جداول شما در مدل با هم برقرار است می تونید برای مثال به شکل زیر عمل کنید:
            public ActionResult Index()
    {
    var model = _db.Orders.Include("OrderDetails").ToList();
    return View(model);
    }

    و در view هم خیلی راحت OrderDetails مربوط به همان Order را به شکل پراپرتی در دسترس داشته باشید مثلا :
    <%: order.OrderDetails.OrderDetailsId %>


    در غیر اینصورت روش دیگه اینه که از ViewModels استفاده کنید یعنی یه پوشه جدید به این نام به پروژه اضافه میکنید و به آن کلاسی که شامل مثلا Order و OrderDetail که در لایه مدل یا فضای نام مدل شما قرار دارد به شکل پراپتی اضافه می کنید مثلا OrdersViewModel و مقدار دهی رو در کنترلر انجام میدید و از همین کلاس به عنوان مدل در View استفاده می کنید.

  6. #6

    نقل قول: نشان دادن جزئیات در همان View اصلی

    به لينک زير مراجعه کرده وقسمت Partial View را مشاهده کنيد
    http://www.pluralsight-training.net/...net-mvc3-intro

  7. #7

    نقل قول: نشان دادن جزئیات در همان View اصلی

    میتوانید با انتخاب هر سطر از لیست Order ها، با یک Ajax Request محتویات Details مربوطه را بگیرید و داخل یک DIV داخل همون صفحه نشان دهید.
    این هم در نظر داشته باشید که Action که به آن Request میزنید بهتر است یک PartialView را برگرداند

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •