사용자는 IDE와 함께 제공된 AspNetSqlProfileProvider를 사용하여 내 사이트의 어딘가에서 프로파일 정보를 작성하게합니다.@ Html.EditorForModel()을 사용하여 양식을 작성할 때 특정 필드를 자동으로 채우는 방법은 무엇입니까?
프로필을 편집 할 양식이 자동으로 채워지는 프로필 수정 페이지로 이동하여 내 프로필을 언제든지 편집 할 수 있습니다. 나는 현재 뷰에 내 컨트롤러에서 (예를 들어, 주소 및 도시) 사용자 프로필의 각 부분을 보낼 ViewBag를 사용하여이 작업을 수행 :
컨트롤러를 얻을 :
ViewBag.address = CustomProfile.GetUserProfile(User.Identity.Name).Address;
ViewBag.city = CustomProfile.GetUserProfile(User.Identity.Name).City;
보기 :
<div class="editor-field">
@Html.TextBox("Address", (string)ViewBag.address)
</div>
<div class="editor-field">
@Html.TextBox("City", (string)ViewBag.city)
</div>
컨트롤러 게시물 :
public ActionResult ChangeProfile(FormCollection favorites)
{
CustomProfile profile = CustomProfile.GetUserProfile();
profile.Address = favorites["Address"];
profile.City = favorites["City"];
profile.Save();
return RedirectToAction("Profile");
}
(가) 위의 편집 프로필에 대해 잘 작동, 그것은 내 사용자의 관점에서 보면 매우 매끄 럽습니다. (온라인에서 질문/답변을 읽으면 ViewModel을 사용해야하며 정확히 어떻게 전환해야하는지 확실하지는 않습니다 - 실패했습니다).
내 사용자가 웹 사이트에서 '결제'를하면 쇼핑을 할 수있는 최종 정보를 입력 할 수있는 화면이 표시됩니다. 이것을 "주문 페이지"라고합시다. 이러한 세부 정보에는 이름, 주소, 신용 카드 정보 등이 포함됩니다. 이러한 정보 중 일부는 웹 사이트의 프로필 페이지에있는 정보와 동일합니다.
필드의 일부를 비워 두면서이 주문 페이지 (이름, 주소)의 세부 정보를 자동으로 채울 수 있기를 원합니다 (신용 카드 - 사용자가 방문 할 때마다이 세부 정보를 입력해야 함). 주문 페이지).
주문 페이지의 작동 방식은 MVC Store Tutorial describes입니다.
큰이며 (이름이 요구되는 주문 모델 내에서 지정된 세부 사항을 편집하고 데이터 검증 물건 수 있습니다@Html.EditorForModel()
, 주소가 필요합니다 주문 페이지가 표시되면 그것을 사용하여 양식을 표시합니다 신용 카드 번호, 이메일 형식이 올바른지 등),이 주문 페이지의 특정 필드에 내 사용자 프로필의 세부 정보를 채우는 방법을 알 수 없습니다.
내 프로필에 포함 된 정보 만 사용하는 새로운 ViewModel을 만들려고했지만 원하는 결과를 얻지 못해서 무엇이 필요한지 명확히 파악하지 못했습니다.
프로필 정보로 주문 모델을 사용하는 것을 고려해 봤지만 두 가지 모두에서 서로 다른 정보를 사용할 수 있기 때문에 충분하지 않습니다.
프로필 정보를 주문 모델로 사용하는 것을 고려해 보았지만 사용자가 실제로 주문하는 데 사용하는 정보와 별도로 프로필 정보를 따로 저장할 수 있기를 바랍니다.
"@ Html.EditorForModel()"을 사용하는 동안 특정 필드를 자동으로 채우는 방법은 무엇인가 구체적으로 알고 싶습니다.
내 전반적인 상황에 도움이 될만한 다른 도움이 있다면, 필자는 자신의 흐름을 단순화 할 충고에 대해 매우 개방적입니다. (필자는 자신이 필요로하는 것보다 더 힘들게 만들고있는 것처럼 느낍니다. 협업은 신선한 공기의 숨결처럼 느껴질 것입니다).
빠른 답장을 보내 주셔서 감사합니다. 나는이 시간에 잠을 잔다. 그래서 아침에 그것을 시험해보아야 할 것이다. 그러나 ViewModels에 대한 훨씬 더 풍부한 뷰를 내게 준 것처럼 보인다. 원래의 게시물에 대한 이해가 부족한만큼, 나는 2 회의 세션 (긴 전화를받은 후에 하나의 세션)에서이를 썼습니다. 아마도 내 숲을 통과하여 수정할 수 있습니다. 나에게 제공 한 것에 집중할 시간이 많아지면 업데이트 할 예정입니다. – Ecnalyr
필드를 자동으로 채울 수있었습니다. 고맙습니다. 그러나 오토 매퍼 (AutoMapper)를 내 두 모델 ('예외'가 발생 함) 사이에 매핑 할 수 없었습니다. 프로젝트의이 부분으로 돌아가서 상황을 개선 할 때 더 많은 것을 얻게 될 것입니다. 다시 한번 감사드립니다. – Ecnalyr