Ich habe einen Web-api-Controller und einen Mvc-Controller. Ich rufe den Web-API-Controller vom mvc-Controller an. Ich möchte, dass der API-Controller eine Integer-Variable an den MVC-Controller übergibt.ein Integer-Variable von api Controller Mvc-Controller Passing
Hier ist meine MVC-Controller
[System.Web.Mvc.HttpPost]
public ActionResult CreateStudent(StudentViewModel student)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:39673/api/student");
var postTask = client.PostAsJsonAsync<StudentViewModel>("student", student);
postTask.Wait();
var result = postTask.Result;
if (result.IsSuccessStatusCode)
{
return Redirect("Index"); ;
}
}
ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");
return View(student);
}
Hier mein api Controller ist (sid ist die Integer-Variable, die ich brauche, über MVC-Controller die weitergegeben werden)
public IHttpActionResult PostStudent(StudentViewModel student)
{
if (!ModelState.IsValid)
return BadRequest("Invalid data.");
using (var ctx = new MyEntities())
{
ctx.Students.Add(new Student()
{
Name = student.Name,
MobileNO = student.MobileNO
});
ctx.SaveChanges();
int sid = ctx.Students.Max(item => item.StudentID);
}
return Ok();
}
Vielen dank im Voraus
ich versuchte es. aber ich weiß nicht, wie sid in mvc controller abrufen. –
Bitte versuchen Sie die überarbeitete Ans oben .. Eine weitere Beobachtung, warum Sie die Web-API aus C# -Code aufrufen müssen? Können wir es nicht vom Client-Browser aus aufrufen? und behandeln die Antwort .. –