2013-10-07 1 views
0

누군가가 조언 할 수 있으면 감사하겠습니다. 나는 2 개의보기 (부분이 아님)를 가지고 있으며, 나는 빈 페이지 (target = "_blank")로 한번에 돌아가고 싶다.하나의 ActionResult를 통해 빈 페이지의 여러보기를 반환

public ActionResult Action1(MyModel model) 
{ 
return View(model); 
} 

public ActionResult Action2(string year) 
{ 
ViewBag.year = year; 
return View(); 
} 

그래서 내가 두 Action1 and Action2를 호출 할 : 나는 2 ActionResults이 내 컨트롤러에서

@using (Html.BeginForm("Action1", "Controller1", new { target = "_blank"}) 
{ 
//model data 

<input type="submit" value = "Go" id="btn"/> 
} 

: 같은 양식을 제출 내 보인다. Action1은 모델을 매개 변수로 사용하고 Action2MyModel에서 가져올 수있는 일부 문자열을 허용합니다. 그럴 수있는 방법이 있습니까? 제출 단추를 클릭 할 때 jquery를 통해 Action2에 전화를 걸려고했지만 새 탭에보기를 표시하려고하면 제대로 작동하지 않습니다.

미리 감사드립니다.

+0

보고서의 경우. 모든 데이터가 표시되는 rdlc 보고서와 함께 ReportViewer (aspx 페이지)가 하나 있고 보고서의 제목 (제목 종류)이있는 다른 aspx 페이지가 있습니다. –

+0

그 부분보기를 만들 것을 제안합니다 – Satpal

+0

감사하지만 그들은 별도해야합니다. –

답변

0

당신이 원하는 것을 할 수 있어야합니다.

하나의 JSON 객체에서 별도의 속성으로 두 개의 뷰를 반환하는 새로운 액션을 만드는 것이 더 좋을 수도 있습니다. 이는 두 번의 호출을 수행하기 때문입니다.

$("#Form").on("submit", function() { 
    $.ajax({ 
     url: "/Controller/Action1", 
     data: $("#Form").serialize(), 
     success: function(response) { 
      // do what you need to do with the response here 
     } 
    }); 

    $.ajax({ 
     url: "/Controller/Action2", 
     data: { string : $("#Form").find("input#YOUR_INPUT_NAME").val() }, 
     success: function(response) { 
      // do what you need to do with the response here 
     } 
    }); 
} 

편집 :

가정 대상이 = "_ 빈"두 번째 숨겨진 양식을 작성하고 첫 번째 제출할 때 제출 할 수 있어야 노력하고 있습니다.

$("#Form").on("submit", function() { 
    var i = $("#Form input#INPUT_ID_HERE").val() 
    $("#Form2 input").val(i); 
    $("#Form2").submit();   
} 
+0

고마워요, 지금 제가하고있는 것과 같습니다. 빈 페이지에 뷰로이 '응답'을 표시하는 방법을 잘 모르겠습니다. –

+0

문제가 있습니다. 아마도 두 가지 양식을 만든 다음 css로 하나를 숨긴 다음 첫 번째 양식을 제출할 때 두 번째 양식을 제출하십시오. – anthr

+0

제출하기 전에 첫 번째 양식에서 값을 얻을 수 있습니다. 예를 들어 내 게시물을 업데이트했습니다. – anthr

관련 문제