I have a data model like so
public class NewsItem { public virtual int Id { get; set; } public virtual string NewsTitle { get; set; } public virtual string NewsContent { get; set; } public virtual byte[] NewsImage { get; set; } public virtual DateTime DateAdded { get; set; } public virtual bool IsLive { get; set; } } I then display this data through a View like so:
@model BusinessObject.Domain.NewsItem <div class="row-fluid"> <h3> @Html.ValueFor(model => model.NewsTitle) </h3> <div class="span5"> <img src="~/Content/images/stock.jpg" /> </div> <div class="span7"> <p> @Html.ValueFor(model => model.DateAdded) </p> <p> @Html.ValueFor(model => model.NewsContent) </p> </div> </div> I then save the data using the _db.SaveChanges() in my controller like so:
[Authorize] [HttpPost] public ActionResult Create(CreateNewsViewModel input) { if (ModelState.IsValid) { var news = new NewsItem(); news.NewsTitle = input.nTitle; news.NewsContent = input.nContent; news.DateAdded = input.nDateAdded; news.IsLive = input.nIsLive; Mydb data = new Mydb(); data.NewsItems.Add(news); data.SaveChanges(); return View("Index", data.NewsItems); } else { return View(input); } } Currently I don't have an image upload bit. How would I go about this? In my db I have a binary field, and my data type in my object is a byte[]. But I don't know where I need to handle the Image Upload?
Do I need a seperate action that returns the view? Some pointers on this would be grand.
Cheers