내 목표는 전체 레지스터 모양을 모달에 추가하는 것입니다. 확장 된 모델 과수원 CMS가있는 애드혹 형태
는이를 달성하기 위해, 내 레이아웃에 내 콘텐츠를 추가WorkContext.Layout.ModalFirst.Add(New.Register(), "15");
내 레지스터보기 부트 스트랩 모달 좋은 보인다.
모든 것이 효과가있는 것으로 보입니다.
BUT
난 프로필 등록에 추가 필드를 표시하기 위해 contrib.Profile 및 itWorks.ExtendedRegistration를 사용한다.
이 필드는 표시되지 않습니다.
표시기 레지스터에 일부 중단 점을 디버그하여 컨트롤러에 넣습니다. 그러나 아무도 일어나지 않습니다. 결론적으로 Ad Hoc 셰이프는 cshtml을 직접 주입한다는 결론입니다.
내 질문은 :
어떻게 추가 필드를 표시하는 데 필요한 형상 Model.UserProfile에 추가?
@using (Html.BeginFormAntiForgeryPost()) {
<fieldset>
<legend>@T("Account Information")</legend>
<div>
<label for="username">@T("Username:")</label>
@Html.TextBox("username")
@Html.ValidationMessage("username")
</div>
<div>
<label for="email">@T("Email:")</label>
@Html.TextBox("email")
@Html.ValidationMessage("email")
</div>
<div>
<label for="password">@T("Password:")</label>
@Html.Password("password")
@Html.ValidationMessage("password")
</div>
<div>
<label for="confirmPassword">@T("Confirm password:")</label>
@Html.Password("confirmPassword")
@Html.ValidationMessage("confirmPassword")
</div>
@if (Model.UserProfile != null)
{
<br />
<fieldset>
<legend>@WorkContext.CurrentSite.SiteName</legend>
@Display(Model.UserProfile)
</fieldset>
}
<div>
<button class="primaryAction" type="submit">@T("Register")</button>
</div>
</fieldset>
}
편집 :
이내 문제는 내가 동적으로 모양을로드한다는 사실에서 비롯됩니다.
모양을 직접 입력하기 위해 url을 입력하면 http://DomainName.com/Users/Account/Register 필드가 추가됩니다.
Shape Ad Hoc을 사용하는 경우 : WorkContext.Layout.ModalFirst.Add (New.Register(), "15");
동일한 모양 (동일한 cshtml)이 시작되지만 추가 된 입력란은 표시되지 않습니다.
나는 이유는, 단순히 모양으로 사용자 프로필을 주입 컨트롤러에 통과하지 못한 것을 알고:
var shape = _orchardServices.New.Register();
var user = _orchardServices.ContentManager.New("User");
if (user != null)
{
shape.UserProfile = _contentManager.BuildEditor(user);
}
return new ShapeResult(this, shape);
그래서 질문은 레이아웃보기에 더이 줄을 수행하는 방법인가?
을하고있다 안녕하세요, 그것은 '아무튼 도와 줘. 제 경우에는 올바른 모듈을 register.cshtml로로드합니다. Model.UserProfile을로드합니다. 하지만 내 문제는 그것이 비어 있다는 것입니다. 나는 Ad hoc template (http://weblogs.asp.net/bleroy/archive/2011/06/30/creating-shapes-on-the)을위한 컨트롤러와 같은 모양으로 주입을 다시 할 수있는 방법을 찾는다. -fly.aspx) :'shape.UserProfile = _contentManager.BuildEditor (user); ' – Jerome2606
다른 문제가 있습니다.모든 코드를 게시하고 연결하는 방법을 사용하지 않는 것이 가장 좋습니다. 이것도 확인하십시오 : http://extendedregistration.codeplex.com/discussions/260237 – ErMasca
프로필 부분에 새 필드를 만들었습니까? 어떻게 그걸합니까? 코드? User ContentType에 추가 했습니까 (ProfilePart)? – ErMasca