현재 jQuery 포틀릿/정렬 가능/draggable을 사용하는 포털에서 콘텐츠 관리 시스템을 모두 포함하고 있습니다 (모두 ASP.NET MVC에 있음). 2. 관리자 만 현재 사이트의 레이아웃/컨텐트를 변경할 수 있습니다.ASP.NET MVC 포털/CMS - 컨트롤러 및 위젯 디자인?
각보기는 컨트롤러 및 동작을 기반으로 한 기본 컨트롤러의 개인 설정을 가져옵니다. 그런 다음보기는 위젯을 반복하고 각 위젯에 대한 renderaction을 호출합니다.
현재 각보기에서 페이지를 편집 모드로 설정하기 위해 View + "Edit"작업이 있습니다. 코드를 복제 할 때 더 좋은 방법이 있어야하지만, 내 인생에서 볼 수는 없습니다!
각보기를 편집 할 수있는 동작을 어떻게 구현합니까?
public ActionResult Legal()
{
PageModel model = GetPageSetting();
return View("Portal", model.PageSetting.Master.Path, model);
}
[HttpPost]
[Authorize(Roles = "Administrator")]
public ActionResult LegalEdit(EditorModel e)
{
PageModel model = GetPageSetting("Legal", "Home", true);
return View("Portal", model.PageSetting.Master.Path, model);
}
가 //이 코드를 보지 않고 기본 컨트롤러
protected PageModel GetPageSetting(string action, string controller, bool isEditing)
{
PersonalizationProcess personalizationProcess = new PersonalizationProcess();
string path = string.Format("~/{0}/{1}", controller, action);
string userName;
bool isAuthenticated;
if (User == null)
{
userName = "TestUser";
isAuthenticated = false;
}
else
{
userName = User.Identity.Name;
isAuthenticated = User.Identity.IsAuthenticated;
}
PageSetting setting = personalizationProcess.GetPageSetting(userName, isAuthenticated, path);
PageModel model = new PageModel();
model.Act = action;
model.Con = controller;
model.IsEditing = isEditing;
model.PageSetting = setting;
return model;
에서 당신을 가리 키도록보기/편집 작업 '코드의 일부를 게시 할 수 있습니다. 사이트도 SEO가되어야하므로 위젯을 렌더링하고 아약스 콜백을 만들 수는 없습니다. –