c# - 如何在页面刷新时传递字符串?`

标签 c# .net asp.net-mvc razor

我遇到了这样的问题。

场景:

在运行我的操作时,我使用一个 int 数组来检索基于这些 ID 的数据。在您到达 View 之前,这非常有效。我设法很好地检索数据,但每当我刷新页面时,由于数组是一种复杂类型,它在操作中作为 null 出现。为了解决这个问题,我将数组转换为字符串,并想将此值传递给页面刷新操作。但到目前为止我尝试过的所有内容实际上并没有提交值,参数肯定会被填充。我试图传入的参数是 RPString

行动:

[AuthorizeClientID]
        [LoggingFilter]
        public ActionResult SupplierReportSelection(int ClientID, int[] ReviewPeriodID, string RPString, int? GroupID, int? SupplierID = null, bool? Backbtn = null, int? StatusCategoryID = null) {
            if (TempData["TempReviewPeriod"] != null) {
                ReviewPeriodID = (int[])TempData["TempReviewPeriod"];
            }
            ClaimsBySupplierViewModel SupplierModel = ClaimsBySupplier(ClientID, ReviewPeriodID, SupplierID, GroupID);

            ViewBag.client = client;


            return View("ClaimsBySupplier", SupplierModel);
        }

查看:

 @if (Model.ReportData.Any()) {
            Model.RPString = string.Join(",", Model.inputReviewPeriodIDs);
            Model.RPString = Json.Encode(Model.RPString);          
     //Removed code which isn't needed
        }

如果 JQuery 也是可能的,请告诉我。

最佳答案

jQuery 有 unload用户离开页面时调用的方法。

例如,您可以执行以下操作:

$( window ).unload(function() {
    $.ajax({
        method: "<method>",
        url: "<your url>",
        data: { RPString: <your desired value> }
    })
});

关于c# - 如何在页面刷新时传递字符串?`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32965986/

相关文章:

c# - 如何正确覆盖 ISupportInitialize 实现

c# - 在启动 TCP 服务器之前如何优雅地启动 C# TCP 客户端

c# - 如何在 .NET 中无一异常(exception)地打印当前堆栈跟踪?

c# - 如何逐行解析来自文本区域的用户输入

c# - 为什么要在空 try block 中使用 try {} finally {}?

c# - 在 MVC 2 中获取列表框的内容

javascript - Razor onchange 无法识别@variable

c# - WebClient是下载http数据的最佳方式吗?

c# - 无法在本地运行 master,因为我的 EF Code First 迁移不同步

asp.net - 如何为 Bootstrap 复选框创建 EditorTemplate?