2012-07-27 46 views
0

我想从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; } 

} 

如何从控制器或模型中插入日期而无需从视图中插入日期?

我的控制器是这样

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

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

     return View(enquiry); 
    } 
+1

我不太清楚你的意思,但如果你自动想要填充这些属性,你可以使用构造函数? – 2012-07-27 05:17:04

+0

你的问题很不清楚。 – 2012-07-27 05:30:46

+0

我的意思是我如何从控制器或模型插入日期而不从视图中插入它? – ktm 2012-07-27 06:49:40

回答

2

KTM,

只是填充日期在HttpGet动作,然后传递到视图。这里有一个片段:

控制器:

[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 --> 

然后,只需使用您的HttpPost actionmethod作为-voila之前!