Asp.net mvc 4 剃须刀锚返回原始视图

Asp.net mvc 4 剃须刀锚返回原始视图,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我正在处理一个搜索表单,用户按下“打印”按钮,然后它应该创建一个用于打印的普通html页面: <a href="#" onclick="Print()" target="_blank" class="btn btn-primary btn-sm"> <span class="glyphicon glyphicon-print"></span> Print </a> 这将调用相应的控制器操作,该操作返回我期望的正确数据,并返回Par

我正在处理一个搜索表单,用户按下“打印”按钮,然后它应该创建一个用于打印的普通html页面:

<a href="#" onclick="Print()" target="_blank" class="btn btn-primary btn-sm">
    <span class="glyphicon glyphicon-print"></span>
    Print
</a>
这将调用相应的控制器操作,该操作返回我期望的正确数据,并返回PartialViewdata

问题是,新选项卡没有加载PrintData.cshtml,而是返回原始搜索屏幕

我错过了什么?非常感谢您的帮助。

解决方案:

var url = '@Url.Action("Action", "Controller")' + '?target = "_blank"';
var data = "&projectId=" + id + "&date=" + date ...
window.open(url + data);

如果当前视图与原始视图不同,则需要向控制器传递生成当前视图所需的任何值。显示打印功能。新选项卡未加载PrintData.cshtml是什么意思?您的$.get方法没有成功的回调。新选项卡意味着您希望在新页面中呈现此内容,在这种情况下,不要使用ajax,因为ajax用于保持在同一页面上。新选项卡打开后,搜索页面的cshtml被加载到其中。而不是$。获取我应该使用什么?我也尝试了$Print.load,同样的结果。。。
var url = '@Url.Action("Action", "Controller")' + '?target = "_blank"';
var data = "&projectId=" + id + "&date=" + date ...
window.open(url + data);