2017-09-11 26 views
0

Sitefinity 사이트를 상속받습니다. 뉴스 페이지의 상세보기 용 MVC 위젯을 추가해야합니다.세부 정보보기 용 컨트롤러 동작을 만드는 방법

나는 this documentation을 찾았지만 머리 나 꼬리를 만들 수는 없습니다. 다른 버전이었을 수도 있습니다. 드디어 이 뉴스 위젯 옵션에 깊이 파묻혀 있었지만 설명서의 지침에 따라 세부 정보 페이지 URL 중간에 "! content"가 추가되었지만 (여전히 발생하지는 않음) 여전히 내 사용자 정의 위젯을 표시하지 않았습니다 .

위젯이 세부 정보 페이지에 표시되도록 컨트롤러를 올바르게 구성하는 방법을 아는 사람이 있습니까?


나는 종류의 문서의 예를 작동 할 수있어

의 URL 산세에 탐색 여전히 내 URL이 매우 짜증나! "컨텐츠"

https://mysite/news/!content/2017/08/24/my-article-title

[ActionName("!content")] 
public ActionResult Filter() 
{ 
    return View("index", InitializeModel()); 
} 

거기 것을 제외 "! content"는 목록 페이지를 보여줍니다.

+0

당신이 정말에 대한 사용자 정의 위젯을해야합니까 , 당신은 붙박이 뉴스 위젯을 사용할 수 없습니까? Index 메서드의 내부 기능은 무엇입니까? Sitefinity 버전은 무엇입니까? –

+0

@VeselinVasilev 뉴스 위젯이있는 페이지에 뭔가를 추가하고 있습니다. 인덱스 방법은 동일합니다. 두 위치에서 같은 것을 원합니다. 태그 당, 이것은 v10입니다. –

답변

2

MVC의 특성상 한 번에 하나의 동작 만 호출 할 수 있습니다.

당신이 NewsController가에 대한 세부 정보 표시 작업을 호출하고 있다는 가정하면,이 페이지에 배치 한 다른 위젯은 두 가지 중 하나을하지 않는 한 세부 동작에 반응하는 방법을 이해하지 않습니다

  1. 자신의 컨트롤러에 해당 세부 작업 만들기
  2. 다른 위젯 메서드가 호출 될 때 수행 할 작업을 처리하려면 HandleUnknownAction을 재정의하십시오. (더 나은, 그것은 감소로 모호함)

당신이 세부 동작이 뉴스에 호출 될 때 사용자 정의 위젯에 색인 작업을 호출 할 경우

protected override void HandleUnknownAction(string actionName) 
    { 
     this.ActionInvoker.InvokeAction(this.ControllerContext, "Index"); 
    }