ASP.NET MVC项目中如何在View里获得当前时间并上传?
问题描述:
想在Creat的View页面获取当前时间上传至数据库,请问怎么把时间那一栏改成自动获取并上传的?
答
直接在你的服务器上用
DateTime.Now作为上传时间,而不从任何用户输入的地方读取就可以了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Q749957.Models;
using System.IO;
using System.Text.RegularExpressions;
namespace Q749957.Controllers
{
public class ProductController : Controller
{
DataClasses1DataContext db = new DataClasses1DataContext();
//
// GET: /Product
public ActionResult Index()
{
var model = db.Products.Select(x => new ProductShowViewModel()
{
CreateTime = x.createtime,
Description = x.description,
Name = x.name,
ID = x.id
}).ToList();
return View(model);
}
//
// GET: /Product/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Product/Create
[HttpPost]
public ActionResult Create(FormCollection fc)
{
if (Request.Files.Count > 0)
{
var file = Request.Files[0];
var filename = Directory.GetFiles(Request.MapPath("~/Upload")).Count() == 0 ? 0 :
Directory.GetFiles(Request.MapPath("~/Upload"))
.Where(x => Regex.IsMatch(x, "\\d+"))
.Select(x => int.Parse(Regex.Match(x, "\\d+").Value))
.Max() + 1;
file.SaveAs(Request.MapPath("~/Upload/" + filename));
var prod = new Product()
{
createtime = DateTime.Now,
description = Request["Description"],
name = Request["Name"],
picid = filename
};
db.Products.InsertOnSubmit(prod);
db.SubmitChanges();
db.Comments.InsertOnSubmit(new Comment() { comment1 = "good!", nickname = "Jack", prodid = prod.id });
db.SubmitChanges();
db.Comments.InsertOnSubmit(new Comment() { comment1 = "very good!", nickname = "Jim", prodid = prod.id });
db.SubmitChanges();
}
return View();
}
//
// GET: /Product/Show/1
public ActionResult Show(int id)
{
var prod = db.Products.Single(x => x.id == id);
var model = new ProductShowViewModel()
{
ID = prod.id,
Comments = db.Comments.Where(x => x.prodid == id)
.Select(x => new CommentItem
{
Comment = x.comment1,
NickName = x.nickname
}).ToList(),
CreateTime = prod.createtime,
Description = prod.description,
Name = prod.name,
Image = Request.ApplicationPath + "upload/" + prod.picid.ToString()
};
return View(model);
}
}
}