jquery - 如何通过调用window.open将值从Jquery传递到MVC Controller ?

标签 jquery asp.net-mvc asp.net-mvc-4

我想在单击按钮时打开新的弹出窗口,其中包含 pdf 文件。在单击按钮时,我调用了以下 jquery.在 Jquery 中,我得到了“Url”中的值。 “Url”包含以下内容

ControllerName/ViewPdf/23bbe2eh3be//编码形式的pdf路径。

但是我无法找到 Controller 中操作的路径,而不是我得到空值的路径。 现在我的问题是如何在操作中获取路径而不是接收 null?

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);
}

Controller :

public ActionResult ViewPdf(String id)
        {
           //some Code
        }

最佳答案

您应该定义此路线

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}

关于jquery - 如何通过调用window.open将值从Jquery传递到MVC Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886647/

相关文章:

asp.net-mvc - 什么是一个相当容易实现的 Asp.Net MVC Url Rewriter

asp.net-mvc - 如何在一个 View 中呈现强类型的局部 View ?

c# - 将复选框的值传递给 asp.net mvc4 中的 Controller 操作

asp.net-mvc-4 - 如何在我的解决方案配置中启用复选框 'deploy'

javascript - 在字符串连接中添加换行符

javascript - 在 Datatable.js 表中显示单词 "Today"而不是数据格式

c# - 从 Base64 字符串创建图像时 GDI+ 中出现一般错误

c# - 无法在 Visual Studio 2015 中运行迁移

javascript - jQuery 每秒调用 ajax 直到调用完成/返回 true

javascript - 使用jquery解析json