Ich bin neu in MVC, ich erstelle eine Seite, die den Vornamen und den Nachnamen in Textfelder erhalten und eine API ausführen, um die Kundeninformationen zu erhalten. Das userObject im folgenden Code enthält die Benutzerinformationen im Jason-Format. Wenn ich den Wert von der API zurückbekomme, muss ich zu einer anderen Seite (Ansicht) mit Benutzer-Info-Textfeldern umleiten und die Textfelder mit den Informationen, die ich von der API erhalten habe, ausfüllen.Umleiten zu einer anderen Ansicht und übergeben Json-Wert
Ich bin mir nicht sicher, wie ich zu einer anderen Ansicht umleiten kann und wie Jason-Formatdaten tragen, um die Textfelder dort zu füllen. Ich schreibe alle in 1 Controller und 2 Ansichten.
Dies ist mein Controller-Code:
[HttpGet]
public ActionResult SearchUser()
{
return View();
}
[HttpPost]
public async Task<JsonResult> SearchUser2(UserSearchRequest userSearchRequest)
{
HttpClient client = new HttpClient();
object userObject = null;
string baseUrl = "http://test/api ";
if (userSearchRequest.LastName != null && userSearchRequest.Zip != null && userSearchRequest.Ssn !=null)
{
var response = await client.GetAsync(string.Format("{0}{1}/{2}/{3}", baseUrl, "/users", userSearchRequest.FirstName, userSearchRequest.LastName));
if (response.IsSuccessStatusCode)
{
userObject = new JavaScriptSerializer().DeserializeObject(response.Content.ReadAsStringAsync().Result) as object;
}
}
if (userObject != null)
{
return Json(new { user = userObject }, JsonRequestBehavior.AllowGet);
}
return Json(string.Empty);
}
//this is where I like to redirect to and fill the textboxes with user Info
[HttpPost]
public ActionResult Create()
{
return View();
}
Dies ist die erste Ansicht, die die Vornamen und Nachnamen erhalten:
@{
ViewBag.Title = "SearchUser";
}
@using (Html.BeginForm("SearchUser2", "SignUp", FormMethod.Post))
{
@Html.AntiForgeryToken()
<input id="FirstName" name="FirstName" type="text" placeholder="FirstName" />
<input id="LastName" name="LastName" type="text" placeholder="LAST NAME" />
<input id="btnSubmit" name="btnSubmit" type="submit" value="SIGN UP TODAY" />
}
Und das ist die zweite Ansicht, dass ich diese gerne füllen Textfelder mit den Daten, die ich von der API bekomme.
@{
ViewBag.Title = "Create";
}
@using (Html.BeginForm("create", "CreateLogin", FormMethod.Post))
{
@Html.AntiForgeryToken()
<input id="Email" name="Email" type="text" placeholder="Email" />
<input id="Phone" name=" Phone " type="text" placeholder=" Phone " />
<input id="Address" name=" Address " type="text" placeholder=" Address " />
<input id="btnSubmit" name="btnSubmit" type="submit" value="Create" />
}
, dass es, Dank. – Alma
Wissen Sie, wie ich Zugriff auf Werte von userObject in Create() -Methode (Ansicht) erhalten kann. Ich habe den Wert von HTML-Textfeldern mit den Werten von userobject gefüllt. – Alma
Aktualisierte Antwort ... –