문제

동일한 부분보기가 포함 된 여러 페이지가 있습니다. 부분에는 동작에 게시하는 양식이 포함되어 있습니다. 게시물 후 나는 페이지로 돌아가고 싶다. 나는 게시물 전에 켜져 있었다. 이것을하는 가장 좋은 방법은 무엇입니까?

예시:

부분보기 : 양식 사후 조치 = Note/Create/

페이지

1 페이지 : 제품/색인/

Page2 : 고객/세부 사항/

Page3 : 주문/세부 사항/

이 3 페이지에는 부분 뷰가 포함되어 있으며, 부분적 인 IT 리디렉션을 게시 할 때 주석/작성/작성. 성공시 원래 페이지로 돌아 가야합니다.

고마워 사이먼

도움이 되었습니까?

해결책

Ajax를 통해 게시물이 발생하여 페이지를 떠나지 않거나 현재 컨트롤러/액션/ID (또는 URL)를 게시물을 처리하는 작업의 매개 변수로 전달하십시오. 나중에 예를 들어 아래를 참조하십시오.

 <% using (Html.BeginForm(...)) { %>

      <input type='hidden'
             name='currentController'
             value='<%= ViewContext.RouteData["controller"] %>' />
      <input type='hidden'
             name='currentAction'
             value='<%= ViewContext.RouteData["action"] %>' />
      <input type='hidden'
             name='<%= ViewContext.RouteData["id"] %>' />

      ...rest of form...
 <% } %>

또는

 <% using (Html.BeginForm( ...,
         new { ReturnUrl = Url.Action( ViewContext.RouteData["action"],
                                       ViewContext.RouteData ) }, ... )) { %>

  ....
 <% } %>

다른 팁

현재 페이지 주소를 숨겨진 필드에 저장하고 게시물 요청으로 보낼 수 있습니다.

부분적으로 :

<script type="text/javascript">

var field = document.getElementById("currentPage");
field.value=document.location.href;

</script>

<form method="post" action="note/create/">
...

<input type="hidden" value="" id="currentPage" name="currentPage" />
</form>

그런 다음 숨겨진 입력의 주소를 검색하고 사용자를 리디렉션하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top