【发布时间】:2015-10-06 09:09:49
【问题描述】:
我遇到了这样的问题。
场景:
在运行我的操作时,我使用一个 int 数组根据这些 ID 检索数据。在您到达视图之前,这非常有效。我设法很好地检索数据,但每当我刷新页面时,由于数组是一种复杂类型,它在操作中作为 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 也是一种可能性,请告诉我。
【问题讨论】:
-
第一次成功请求时如何填充数组?
-
@WiktorZychla 该数组填充了一个下拉列表,具体取决于用户单击的值
-
不是我的意思。我的问题是:该列表是在 GET 请求的查询字符串中传递的,还是更确切地说,这是一个 POSTed 值列表?无论如何,您是否想过将其存储在 Session 中,以便当它为空时您可以从 Session 中检索它?
-
嗯,不,我没想过将它存储在会话中,例如 cookie。这是一个很好的观点。我想这会奏效。在此期间我一直很忙,但我会更新并在我修复它时通知您:) 谢谢
-
@WiktorZychla 非常感谢您的建议。问题已解决:)
标签: c# .net asp.net-mvc razor