Я новичок в MVC, я создаю страницу, которая получает имя и фамилию в текстовых полях и запускает api для получения информации о клиенте. UserObject в приведенном ниже коде содержит информацию о пользователе в формате Jason. Когда я получаю значение обратно из API, мне нужно перенаправить на другую страницу (представление) с текстовыми полями информации пользователя и заполнить эти текстовые поля информацией, полученной мной из API.Перенаправить на другое представление и передать значение json
Я не уверен, как я могу перенаправить на другой вид и как переносить формат Jason Data для заполнения текстовых полей. Я пишу все в 1 контроллере и 2 просмотрах.
Это мой код контроллера:
[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();
}
Это первый вид, что получить первое имя и фамилия:
@{
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" />
}
И это второй вид, что мне нравится, чтобы заполнить эти текстовые поля с данными, которые я получаю от API.
@{
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" />
}
, что это, спасибо. – Alma
Знаете ли вы, как я могу получить доступ к значениям userObject в методе Create() (view). Я написал, чтобы заполнить значение текстовых полей HTML значениями из пользовательского объекта. – Alma
Обновленный ответ ... –