PDA

View Full Version : مبتدی: استفاده از 2 مدل در یک View



vbiman
چهارشنبه 15 دی 1395, 12:11 عصر
با سلام
من در یک ویو می خوام یک فرم برای دریافت و فرستادن اون برای insert شدنش استفاده کنم حالا مشکلی که من دارم اینه که این فرم تعدادی از فیلد هاش باید از یک table خونده بشه و چند تا از این فیلدای این فرم رو پر کنه و یه تعداد از فیلد ها رو هم کاربر وارد می کنه و نهایناً اطلاعات post میشه و در یک table دیگه باید ذخیره بشه. حالا با این وضعیت من در بالای صفحه برای دسترسی به فیلد ها مجبورم دو تا مدل (model@) بنویسم تا بتونم به فیلدها دسترسی داشته باشم ولی موقع بیلد کردن به مدل دومی خطا میده برای حل این مشکل چه راهی پیشنهاد می کنین؟؟
(فیلدهای جدول اول در جدول دوم موجود می باشد و جدول اول باید محتویاتش بیاد تو جدول دوم و کاربر هم اطلاعات دیگه رو وارد کنه و در نهایت پست بشه برای عملیات Insert)

milan2004
چهارشنبه 15 دی 1395, 14:33 عصر
چرا از ویومدل استفاده نمیکنید
یک ویو مدل بسازید که دارای پراپرتی هایی از نوع دو مدل که باید در ویو نمایش داده بشن داشته باشید بعد ویو مدل را در ویو اضافه کنید

vbiman
چهارشنبه 22 دی 1395, 20:39 عصر
چرا از ویومدل استفاده نمیکنید
یک ویو مدل بسازید که دارای پراپرتی هایی از نوع دو مدل که باید در ویو نمایش داده بشن داشته باشید بعد ویو مدل را در ویو اضافه کنید

اگه امکان داره میشه یه مثال ساده در قالب یک پروژه با فیلدای کم بزنین تا کامل متوجه بشم؟

vbiman
چهارشنبه 22 دی 1395, 20:47 عصر
من تو پوشه مدل یک کلاس ساختم به اسم XMLbetViewModel بعد آمدم دو تا از جداولی که داشتم رو اینا به عنوان property قرار دادم :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DataLayer;

namespace League2.Models
{
public class XMLbetViewModel
{
public IEnumerable<XML> XMLs {get;set;}
public IEnumerable<Bet> Bets { get; set; }
}
}

سپس رفتم تو ویو و اونجا این مدل رو به این صورت فراخوانی کردم

@model League2.Models.XMLbetViewModel
ولی موقعی که @Model رو میزنم فیلدای این دو تا جدول رو نمیاره و فقط اسم جداول رو میاره

حالا من چکار کنم که بتونیم همزمان به فیلدای این دو جدول دسنرسی پیدا کنم چون می خوام در نهایت این اطلاعات در فرم رو تو بانکم ذخیره کنم.

Moien Tajik
پنج شنبه 23 دی 1395, 08:08 صبح
http://www.dotnettips.info/post/1243/

milan2004
جمعه 24 دی 1395, 18:51 عصر
احتمالا باید به این صورت کار کنی

@model yournamespace.XMLbetViewModel
@html.displayfor(x=>x.xmls.firstordefault().name)
و همینطور برای Bets
و برای نمایش مقادیر پراپرتی از foreach استفاده کنید