0

asp.net mvcの(サーバー側)モデルからユーザー名、ユーザーID、日付などを自動的に挿入したいのですが、このようなモデルに挿入するにはどうすればよいですか?

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);
    }
4

1 に答える 1

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!

于 2012-07-27T09:12:37.843 に答える