假设“NewWindow.cshtml”在您的“Home”文件夹中,我已经看到您可以在哪里执行此类操作:
string url = "/Home/NewWindow";
return JavaScript(string.Format("window.open('{0}', '_blank', 'left=100,top=100,width=500,height=500,toolbar=no,resizable=no,scrollable=yes');", url));
或
return Content("/Home/NewWindow");
如果您只想在选项卡中打开视图,您可以使用 JavaScript 点击事件来呈现您的部分视图。这将是 NewWindow.cshtml 的控制器方法:
public ActionResult DisplayNewWindow(NewWindowModel nwm) {
// build model list based on its properties & values
nwm.Name = "John Doe";
nwm.Address = "123 Main Street";
return PartialView("NewWindow", nwm);
}
你在页面上的标记是这样的:
<input type="button" id="btnNewWin" value="Open Window" />
<div id="newWinResults" />
还有 JavaScript(需要 jQuery):
var url = '@Url.Action("NewWindow", "Home")';
$('btnNewWin').on('click', function() {
var model = "{ 'Name': 'Jane Doe', 'Address': '555 Main Street' }"; // you must build your JSON you intend to pass into the "NewWindowModel" manually
$('#newWinResults').load(url, model); // may need to do JSON.stringify(model)
});
请注意,此 JSON 将覆盖上述 C# 函数中的内容。我把它放在那里只是为了演示如何对值进行硬编码。
(改编自Rendering partial view on button click in ASP.NET MVC)