在我的MVC4 Internet应用程序中,我有以下模型
public class EventModel
{
public int EventId { get; set;}
public string EventTitle { get; set;}
public string ImageUrl { get; set;}
public string VideoUrl { get;set}
}下面是图像和视频的Create.cshtml代码
@using(Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div>
@Html.LabelFor(model =>model.ImageUrl)
</div>
<div>
@Html.EditorFor(model =>model.ImageUrl)
@Html.ValidationMessageFor(model =>model.ImageUrl)
</div>
<div>
@Html.LabelFor(model =>model.VideoUrl)
</div>
<div>
@Html.EditorFor(model =>model.VideoUrl)
@Html.ValidationMessageFor(model =>Video.ImageUrl)
</div>
}这是我在create上的post方法的控制器代码
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(EventModel eventmodel)
{
if (ModelState.IsValid)
{
_db.EventModels.Add(eventmodel);
_db.SaveChanges();
return RedirectToAction("Index");
}
return View(eventmodel);
}如何使创建页面显示按钮,以便从用户计算机上载图像。如何修改控制器操作以将路径存储在数据库中,以及如何检索index.cshtml页面上的图像。
发布于 2013-07-26 13:58:30
要上传文件,请尝试执行以下操作:
在控制器中:
[HttpPost]
public ActionResult Create(EventModel eventmodel, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
var filename = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Uploads/Photo/"), filename);
file.SaveAs(path);
tyre.Url = filename;
_db.EventModels.AddObject(eventmodel);
_db.SaveChanges();
return RedirectToAction("Index");
}
return View(eventmodel);
}和视图:
<div>
Image
<input type="file" name="file" id="file" />
@Html.HiddenFor( model => model.ImageUrl)
@Html.ValidationMessageFor( model => model.Url )
</div>https://stackoverflow.com/questions/17511385
复制相似问题