View Full Version : بررسی درست بودن Model
jaykob
شنبه 20 اردیبهشت 1393, 09:28 صبح
سلام دوستان
من یک مدل نوشتم و یکسری attribute ها بهش دادم می خواستم بدونم از نظر ساختاری مشکلی نداره ؟
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Test.Models
{
[MetadataType(typeof(ConsultationMetaData))]
public class Consultation
{
}
public class ConsultationMetaData
{
[HiddenInput(DisplayValue=false)]
public int ID { get; set; }
[Required]
[Display(Name="نام و نام خانوادگی")]
public string NameFamily { get; set; }
[Required]
[Display(Name = "شماره همراه")]
public string Mobile { get; set; }
[Required]
[Display(Name = "پست الکترونیکی")]
[DataType(DataType.EmailAddress)]
public string Mail { get; set; }
[Display(Name = "شرکت / سازمان")]
public string Company { get; set; }
[Required]
[Display(Name = "سوال شما ؟")]
public string Message { get; set; }
[Required]
[Display(Name = "تاریخ")]
[DisplayFormat(DataFormatString="{0:yyyy/mm/dd hh:mm:ss tt}")]
public string Date { get; set; }
}
}
ممنون
مهدی کرامتی
شنبه 20 اردیبهشت 1393, 10:59 صبح
اعضای خود کلاس Consultation کجاست؟
jaykob
شنبه 20 اردیبهشت 1393, 11:24 صبح
اعضای خود کلاس Consultation کجاست؟
سلام
من در یک آموزش خارجی دیدم که به این شکل مدل می کرد و attribute ها را نسبت می داد . بر طبق گفته شما تمامی پروپرتی ها باید در کلاسConsultation هم باشد به شکل زیر . و آیا نحوه استفاده من از attribute ها صحیح است ؟
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Test.Models
{
[MetadataType(typeof(ConsultationMetaData))]
public class Consultation
{
public int ID { get; set; }
public string NameFamily { get; set; }
public string Mobile { get; set; }
public string Mail { get; set; }
public string Company { get; set; }
public string Message { get; set; }
public string Date { get; set; }
}
public class ConsultationMetaData
{
[HiddenInput(DisplayValue=false)]
public int ID { get; set; }
[Required]
[Display(Name="نام و نام خانوادگي")]
public string NameFamily { get; set; }
[Required]
[Display(Name = "شماره همراه")]
public string Mobile { get; set; }
[Required]
[Display(Name = "پست الکترونيکي")]
[DataType(DataType.EmailAddress)]
public string Mail { get; set; }
[Display(Name = "شرکت / سازمان")]
public string Company { get; set; }
[Required]
[Display(Name = "سوال شما ؟")]
public string Message { get; set; }
[Required]
[Display(Name = "تاريخ")]
[DisplayFormat(DataFormatString="{0:yyyy/mm/dd hh:mm:ss tt}")]
public string Date { get; set; }
}
}
rezaei_y
یک شنبه 21 اردیبهشت 1393, 00:57 صبح
مدلت رو طوری تعریف کن شامل جمع اعضای مورد نیازت در دو کلاس است
jaykob
یک شنبه 21 اردیبهشت 1393, 07:55 صبح
مدلت رو طوری تعریف کن شامل جمع اعضای مورد نیازت در دو کلاس است
سلام
می شه مثال بزنید ؟
ممنون
jaykob
یک شنبه 21 اردیبهشت 1393, 17:24 عصر
سلام
من فکر کنم استفاده از MetadataType مربوط به زمانی است که ما مدل هامون رو از ADO.NET Entity Framework ایجاد کردیم و بخواهیم پروپرتی هامون رو سفارشی کنیم و در مدل معمولی بهتره که attribute ها را به صورت معمولی در بالای هر پروپرتی بنویسیم آیا این موضوع درسته ؟
ممنون
Amir Oveisi
دوشنبه 22 اردیبهشت 1393, 04:42 صبح
اگر از code-first استفاده میکنید نیازی به این کاری که الان انجام دادید نیست و میتونید attribute های مورد نظر رو در خود مدل و یا viewmodel ها قرار بدید.
jaykob
سه شنبه 23 اردیبهشت 1393, 20:55 عصر
اگر از code-first استفاده میکنید نیازی به این کاری که الان انجام دادید نیست و میتونید attribute های مورد نظر رو در خود مدل و یا viewmodel ها قرار بدید.
سلام
ممنون یعنی به شکل زیر ؟
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Test.Models
{
public class Consultation
{
[HiddenInput(DisplayValue = false)]
public int ID { get; set; }
[Required]
[Display(Name = "نام و نام خانوادگی")]
[StringLength(100,ErrorMessage="خطا : شما مجاز به ورود حداکثر 100 کاراکتر هستید")]
public string NameFamily { get; set; }
[Required]
[Display(Name = "شماره همراه")]
[StringLength(20, ErrorMessage = "خطا : شما مجاز به ورود حداکثر 20 کاراکتر هستید")]
public string Mobile { get; set; }
[Required]
[Display(Name = "پست الکترونیکی")]
[StringLength(50, ErrorMessage = "خطا : شما مجاز به ورود حداکثر 50 کاراکتر هستید")]
[DataType(DataType.EmailAddress)]
public string Mail { get; set; }
[Display(Name = "شرکت / سازمان")]
public string Company { get; set; }
[Required]
[Display(Name = "سوال شما ؟")]
public string Message { get; set; }
[Required]
[Display(Name = "تاریخ")]
[DisplayFormat(DataFormatString = "{0:yyyy/mm/dd hh:mm:ss tt}")]
public string Date { get; set; }
}
}
Amir Oveisi
پنج شنبه 25 اردیبهشت 1393, 05:35 صبح
بله به همین صورت
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.