اذهب إلى المحتوى
  • 0

كيف امرر اكثر من model إلى ال View في ASP.Net MVC ؟

فاروق عبدالحميد

السؤال

اريد ان استخدم اكثر من   model داخل ال view  كما في المثال ادناه:-

1- كلاس الكاتب 

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace OurBlog.Models
{
    public class Writer
    {
        public int Id { get; set; }

        [Required]
        [Display(Name = "Writer")]
        public string Name { get; set; }
    }
}

2- كلاس القسم

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace OurBlog.Models
{
    public class Department
    {
        public int Id { get; set; }

        [Required]
        [Display(Name = "Department")]
        public string Name { get; set; }
    }
}

 

اريد ان اعرض الكاتب و القسم في  view واحدة ولكني لا اعلم كيف اقوم بإستدعائهم في view 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

وعليكم السلام أخي الكريم.

استخدم مفهوم ViewModel، بمعنى قم بإنشاء كلاس جديد وليكن (DepartmentWriterViewModel) وعرف فيه النوعين Department و Writer، بحيث يصبح عندك Model واحد من نوع DepartmentWriterViewModel يحوي على جميع البيانات التي تحتاجها الـ View. وقم بتمرير اوبجكت منه إلى View

ملاحظة: يعتمد المفهوم السابق على نمط التصميم MVVM، وستجد انك بحاجته لاحقاً في اقسام تطبيقاتك، وسترى بأن جميع التقنيات الأخرى بدأت تدعم هذا النمط مثل Android و iOS وغيرها. أعمل حاليا على كتاب يفصل هذه المفاهيم بشكل هندسي إن شاء الله تعالى.

 

بالتوفيق،،،

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

 

بأمكانك عمل ViewModel خاص يحتوي على اثنين Model

public class DepartmentAndWriterViewModel
{
   public Department Departments{get;set;}
   public Writer Writers {get;set;}
}

ثم تبعتها لل View

public ActionResult Index()
{
    var department = from r in _db.department select r;
    var writer = from r in _db.Writer select r;

    var model = new DepartmentAndWriterViewModel {department = department.ToArray(), writer = writer};

    return View(model);
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...