Arifullah Irfann

Arifullah Irfann

  • 1.2k
  • 410
  • 24.1k

How to call asp.net web api from View

Mar 8 2020 5:41 AM
Hello
 
I have created web api controller
 
How Can call it for creating and updating?
 
//////////////To Create
  1. public IHttpActionResult CreateMovie(MovieDto MovieDto){  
  2. if (!ModelState.IsValid)  
  3. return BadRequest();  
  4. var movie = Mapper.Map<MovieDto, Movie>(MovieDto);  
  5. db.Movies.Add(movie);  
  6. db.SaveChanges();  
  7. MovieDto.ID = movie.ID;  
  8. return Created(new Uri(Request.RequestUri + "/" + movie.ID), MovieDto);  
  9. }  
///////To Update
  1. [System.Web.Http.HttpPut]  
  2. public void UpdateMovie(int id, MovieDto MovieDto)  
  3. {  
  4. if (!ModelState.IsValid)  
  5. throw new HttpResponseException(HttpStatusCode.BadRequest); var MovieInDb = db.Movies.SingleOrDefault(m => m.ID == id); if (MovieInDb == null)  
  6. throw new HttpResponseException(HttpStatusCode.NotFound);  
  7. Mapper.Map(MovieDto, MovieInDb);  
  8. db.SaveChanges();  
  9. }  
/////////////////Form Code
  1. <form>  
  2. <div class="form-group">  
  3. @Html.LabelFor(m => m.Name)  
  4. @Html.TextBoxFor(m => m.Name, new { @class = "form-control" })  
  5. @Html.ValidationMessageFor(m => m.Name)  
  6. </div>  
  7. <div class="form-group">  
  8. @Html.LabelFor(m => m.DateAdded)  
  9. @Html.TextBoxFor(m => m.DateAdded, "{0:d MMM yyyy}"new { @class = "form-control" })  
  10. </div>  
  11. <div class="form-group">  
  12. @Html.LabelFor(m => m.ReleaseDate)  
  13. @Html.TextBoxFor(m => m.ReleaseDate, "{0:d MMM yyyy}"new { @class = "form-control" })  
  14. </div>  
  15. <div class="form-group">  
  16. @Html.LabelFor(m => m.NumberAvailable)  
  17. @Html.TextBoxFor(m => m.NumberAvailable, new { @class = "form-control" })  
  18. @Html.ValidationMessageFor(m => m.NumberAvailable)  
  19. </div>  
  20. <div class="form-group">  
  21. @Html.LabelFor(m => m.GenreID)  
  22. @Html.DropDownListFor(m => m.GenreID, new SelectList(Model.Genre, "GenreID""GenreName"), "-Select-"new { @class = "form-control" })  
  23. </div>  
  24. @Html.HiddenFor(m => m.ID)  
  25. @Html.AntiForgeryToken()  
  26. <button type="submit" id="save" class="btn btn-primary">Save</button> </form>  
Thanks.

Attachment: Files.rar

Answers (1)