2012-07-27 5 views
0

자동으로 username, userid, date 등을 (서버 측) 모델 asp.net mvc에 삽입하고 싶습니다. 그런 모델에 어떻게 삽입합니까?asp.net MVC에서 데이터 입력

public class Enquiry 
{ 
    public int ID { get; set; } 
    public DateTime Date { get; set; } 
    [Required] 
    public string Name { get; set; } 
    public string Contactno { get; set; } 
    public string Remarks { get; set; } 
    public string UserId { get; set; } 
    public string UserName { get; set; } 
    public string Editdate { get; set; } 
    public string status { get; set; } 


} 

public class EnquiryDBContext : DbContext 
{ 
    public DbSet<Enquiry> Enquiries { get; set; } 

} 

보기에서 삽입하지 않고 컨트롤러 또는 모델의 날짜를 삽입하려면 어떻게합니까?

내 컨트롤러는

그냥 HttpGet 행동에 날짜를 채우고 다음보기로 그 전달이

[HttpPost] 
    public ActionResult Create(Enquiry enquiry) 
    { 
     if (ModelState.IsValid) 
     { 

      db.Enquiries.Add(enquiry); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     return View(enquiry); 
    } 
+1

나는 당신이 무엇을 의미하는지 확실히 모르겠다. 그러나 당신이 자동적으로 그 속성들이 채워지 길 원한다면 당신은 생성자를 사용할 수 있는가? –

+0

질문이 명확하지 않습니다. –

+0

내가보기에서 삽입하지 않고 컨트롤러 또는 모델에서 날짜를 삽입하려면 어떻게해야합니까? – ktm

답변

2

KTM 같다. 여기에 코드 조각입니다 :

컨트롤러 : 당신의 생성보기에

[HttpGet] 
public ActionResult Create() 
{ 
    Enquiry enquiry = new Enquiry(); 
    enquiry.Date = DateTime.UtcNow; 
    // set any other required properties 
    return View(enquiry); 
} 

가 :

// ref to base model 
@model yournamespace.Models.Enquiry 

// add the date from the controller as a hidden field 
@Html.HiddenFor(m => m.Date) 
<!-- other properties --> 

후, 바로 -voila 전에로 HttpPost actionmethod를 사용!

관련 문제