我想打开新的弹出窗口,点击按钮,其中包含pdf。在按钮单击时,我调用了以下jquery。在Jquery中,我获得了“Url”的价值。 “Url”包含以下内容
ControllerName / ViewPdf / 23bbe2eh3be //编码形式的pdf路径。
但是我无法找到控制器中操作的路径,而不是路径我得到了空值。 现在我的问题是,如何在行动中获取路径而不是接收空?
Jquery的:
function ViewPdf( url) {
var winW = 800;
var winH = 330;
var winX = (screen.availWidth - winW) / 2;
var winY = (screen.availHeight - winH) / 2;
var features = 'left=' + winX + ',top=' + winY + ',width=' + winW + ',height=' + winH + ',toolbar=0,location=0,status=0,scrollbars= 1,resizable=1';
PdfWindow = window.open(url, null, features);
}
控制器:
public ActionResult ViewPdf(String id)
{
//some Code
}
答案 0 :(得分:2)
你应该这样做
//this should call your controller method
window.location = '@Url.Action(ActionName, controllername)' + JSON.stringify(filename);
当您尝试为窗口分配功能时,请查看这些链接
https://developer.mozilla.org/en-US/docs/Web/API/window.open
答案 1 :(得分:2)
您应该定义此路线
routes.MapRoute("ViewPdf", "HomeController/ViewPdf/{path}", new { controller = "HomeController", action = "ViewPdf", path = UrlParameter.Optional });
你的行动:
public ActionResult ViewPdf(string path) { //some Code }
或者您应该在查询字符串中定义参数名称:
/HomeController/ViewPdf?path={your_path_here}