asp.net Javascript window.location Url.Action 不起作用

Posted

技术标签:

【中文标题】asp.net Javascript window.location Url.Action 不起作用【英文标题】:asp.net Javascript window.location Url.Action not working 【发布时间】:2017-09-20 01:37:24 【问题描述】:

我尝试让 javascript 在 ASP.NET 中工作 我的 JavaScript:

 function reportOrder(sender, args) 
    alert("Message");

    window.location.href = @Url.Action("StartReport", "PrintOut", New With .Area = "Printing", Key .ReportName = "Test",
                                                    Key .typeOfReport = TypeOfPrintingIS.Order,
                                                    Key .CompanyId = DirectCast(ViewData("CompanyId"), Guid),
                                                    Key .ExchangePrintData = CType(locOrderReport, ExchangeData.IExchangePrintData));


首先,该功能有效,当我禁用 window.location 时,会引发警报!所以,问题必须在@UrlAction(

此外,Area 正在工作,因为当我使用类似的 html.RenderAction 函数和另一个函数的另一个指令时,它工作正常。

Controller 内的功能:

 <HttpPost>
    Function StartReport(ReportName As String, typeOfReport As TypeOfPrintingIS, CompanyId As Guid, ExchangePrintData As Code.ExchangeData.IExchangePrintData) As ActionResult
        Dim model As New HTML5ViewerModel()
        model.ViewerOptions.UseUIMiniStyle = True
        locReportHelper.CompanyId = CompanyId
        locReportHelper.ReportName = ReportName
        locReportHelper.TypeOfReport = typeOfReport
        locReportHelper.ExchangePrintData = ExchangePrintData
        model.ReportName = locReportHelper.CreateReportId

        Return View("Html5Viewer", model)
    End Function

而“IExchangePrintData”接口是一个空接口,用于验证类是否正确。

你们中有人有想法吗? 非常感谢 - 周末愉快

【问题讨论】:

使用@Url.Action时浏览器控制台中是否有任何错误? 【参考方案1】:

尝试用单引号将您的 razor 指令括起来。看起来像这样:window.location.href = '@Url.Action("SomeActionName", "SomeControllerName", etc...)'; 猜猜这应该可行,因为你提到@Html.RenderAction 工作正常。

【讨论】:

非常感谢! - 这就是魔法钥匙!

以上是关于asp.net Javascript window.location Url.Action 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在asp.net中如何做退出网页按钮?

[转][ASP.net]后台页面刷新

ASP.NET如何点击按钮后关闭当前窗口?

JavaScript刷新页面n种方法

使用 asp.net MVC 中的参数将 javascript 中的页面重新加载到特定控制器的操作方法

为啥asp.net响应很慢