2013-10-07 50 views
0

如果有人能提供建議,我將不勝感激。我有2個視圖(不是部分),我希望一次返回空白頁(target = "_blank")。 我提交形式如下:通過一個ActionResult在空白頁面中返回多個視圖

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

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

在我的控制器我有2個ActionResults:

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

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

所以我想打電話給兩個Action1 and Action2Action1接受該模型作爲參數,並且Action2接受可以從MyModel獲取的一些字符串。 有沒有辦法做到這一點? 我試圖通過jquery調用Action2提交按鈕單擊,但它將無法正常工作,因爲我想在新標籤中顯示視圖。

在此先感謝!

+0

有關報告。我有一個ReportViewer(aspx頁面),其中包含顯示所有數據的rdlc報告以及另一個包含報告標題(類型標題)的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 
     } 
    }); 
} 

編輯:

假設目標=「_空白」正在工作,你應該能夠創建一個2隱藏的形式,第一個提交時提交。

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

謝謝,這和我現在做的一樣。我不確定如何在空白頁面中將這個「回覆」作爲一個視圖來顯示。 –

+0

我看到了問題。我可能會創建兩種形式,然後用CSS隱藏一個,然後在提交第一個時提交第二個。 – anthr

+0

您可以在提交之前從第一個表單中獲取值。以我的帖子更新爲例。 – anthr

相關問題