2013-09-19 5 views
3

Я хочу открыть новое всплывающее окно с наличием в нем PDF-кода при нажатии кнопки. Нажав кнопку, я вызвал следующий jquery. Здесь, в JQuery, я получил значение в «Url». «Url» содержит следующие вещи:Как передать значение из JQuery в MVC Controller, вызвав window.open?

ControllerName/ViewPdf/23bbe2eh3be // путь pdf в кодированной форме.

Но я не могу узнать путь в действии в контроллере, вместо пути я получил нулевое значение. Теперь мой вопрос в том, как я могу получить путь в своем действии вместо получения 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); 
} 

Контроллер:

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

Вы отправляете путь в качестве параметра запроса url? предоставлять строку URL, а –

+0

Мой реальный путь выглядит следующим образом: /HomeController/ViewPdf/2A7F2B9AC347B50FC6C32C7EE5640A982F3BBA3294E4C3E9E7AE89EA7F4ACD1493912E77EACF15984460D94FEEDE9098D566A93F71CF96A24AE97D29DBD3B533B529F76CDACE4D473811C9321F0DE39314EC954 –

ответ

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} 
Смежные вопросы